node.js - 使用来自另一个集合的“内部选择”的数据将文档插入集合
问题描述
我有 2 个 mongo 集合:admins
和logs
'admins' 集合文档如下所示:
{
_id: ObjectId("123456"),
name: "John Doe",
age: 33
}
我想通过一个查询向“日志”集合中插入一个新文档,如下所示:
{
_id: ObjectId("778899"),
action: "did something",
adminUserId: "123456" // just a plain string value, not ObjectId
}
所以我真正要问的是如何插入文档,其中字段值等于“内部选择语句”值,即-
adminUserId = ([select one from collection 'admins' where name="John Doe"]._id.toString())
有什么方法可以在一个 mongo 操作中完成所有操作?我在 node.js
解决方案
使用聚合管道检索要插入的数据,然后根据需要对其进行处理,然后使用 $merge 阶段将其插入现有集合中。
推荐阅读
- java - 计算视频时长需要太多时间
- c++ - 如何修复“无运算符”!=“匹配这些操作数”?
- python - Numpy / Pandas:从列表中随机选择 n 个项目,其中 n 是随机整数,对于每个索引
- flutter - 飞镖检查未完成的未来
- asp.net - 将其移动到子文件夹后,aspx 页面无法正常工作
- python - 将包含子数组的 numpy 数组插入 PostgreSQL
- r - mlr3 - 预测的置信区间
- mysql - mysql如何处理选择以更新不存在的行
- javascript - Intl.DateTimeFormat 无法解析有效时间值
- python-3.x - Tkinter 动画 - 模拟模拟时钟