如何使用节点js在mongodb中映射两个集合[重复]
Posted
技术标签:
【中文标题】如何使用节点js在mongodb中映射两个集合[重复]【英文标题】:How to map two collections in mongodb using node js [duplicate] 【发布时间】:2019-10-21 13:32:39 【问题描述】:我怀疑如何使用 mongoclient 在 mongodb 中映射两个集合。我试过了,但它不起作用。如何解决它
group_promotion 收藏
"_id" : ObjectId("5cf7679a0b0bed2e7483b998"),
"group_name" : "Latest",
"products" : [ObjectId("5cecc161e8c1e73478956333"),ObjectId("5cecc161e8c1e73478956334")]
产品系列
"_id" : ObjectId("5cecc161e8c1e73478956333"),
"product_name" : "bourbon"
,
"_id" : ObjectId("5cecc161e8c1e73478956334"),
"product_name" : "bour"
预期输出:
"_id" : ObjectId("5cf7679a0b0bed2e7483b998"),
"group_name" : "Latest",
"products" : [
"_id" : ObjectId("5cecc161e8c1e73478956333"),
"product_name" : "bourbon"
,
"_id" : ObjectId("5cecc161e8c1e73478956334"),
"product_name" : "bour"
]
【问题讨论】:
【参考方案1】:您可以直接在products
数组上运行$lookup 以获得预期结果:
db.group_promotion.aggregate([
$lookup:
from: "product",
localField: "products",
foreignField: "_id",
as: "products"
])
这将从数组中获取products
,在products
集合中找到对应的文档,并覆盖group_production
中现有的products
数组
【讨论】:
@micki 但我对这种情况还有一个疑问,请您看看团体促销合集和产品合集。 @HariSmith 你打开了另一个问题吗? @micki 不,我已经改变了我的问题,你可以看看团体促销集合和产品集合这个场景如何实现映射两个集合 @micki 对不起,我编辑数据有误。我会更正和更新它。你能告诉我这个场景如何实现它。 @micki 感谢您的解决方案,它工作正常。以上是关于如何使用节点js在mongodb中映射两个集合[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在节点 js 和 mongodb 中使用填充的字段键值名称进行搜索?