mongodb - 我们可以在 mongo shell 中使用回调吗?
问题描述
我想将一个文档插入到collection1
成功插入文档后,我想将另一个文档插入到collection2
. 文档的字段之一collection2
将是_id
刚刚插入的文档的字段collection1
。
我正在使用回调:
db.collection1.insert(<document>,function(err,doc)){
db.collection2.insert({collection1_id: doc[0]._id, <field>:<value>})
但是,如果没有Node.js
.
有什么解决方法吗?
解决方案
回调是 Node.js 异步 API 的一部分,并且在 shell 中不受支持mongo
(如 MongoDB 4.0)。但是,您始终可以编写没有回调的等价物。
mongo
shell 的方法insertOne()
将返回一个包含插入文档值的insertedId
字段_id
,因此您可以保存或引用该值。
例如:
db.collection2.insertOne({
collection1_id: db.collection1.insertOne({}).insertedId,
field: 'value'
})
推荐阅读
- docker - docker内存自动升级
- r - 在不使用 XLConnect 的情况下将数据写入 R 中的 xlsx 模板
- c# - 在 linq 查询中使用字典
- r - 无法转换标题或转换时间取决于在新版本的 gganimate 中使用 transition_states 或 transition_times
- java - 从 android 将媒体上传到 S3 存储桶时出错
- c# - 遍历天蓝色存储绝对路径c#
- regex - 如何查找长度为 5 且恰好包含一个数字和 4 个字母的所有字符串
- angular - 如何让 app-root 组件等待服务初始化其变量?
- c# - 带有 RadioButtonFor 的 ID
- jquery - wordpress 中的 jQuery ajax 请求