MongoDB Compass:如何执行SQL连接/Mongoose填充?
我有一个名为MongoDB Compass:如何执行SQL连接/Mongoose填充?,mongodb,Mongodb,我有一个名为Post的集合,它有一个名为makeupProduct的ID字段。此ID字段是myMakeupProduct集合的外键 在MongoDB Compass中,我试图找到所有的帖子 其中productUrl==null和 随它一起填充化妆记录 这可能吗 我有第一个过滤器,但不知道如何写其余的 db.Post.aggregate([ { $match:{ productUrl:null } }, { $lookup: { 来自:“MakeupProduct”, localField:“ma
Post
的集合,它有一个名为makeupProduct
的ID字段。此ID字段是myMakeupProduct
集合的外键
在MongoDB Compass中,我试图找到所有的帖子
productUrl==null
和db.Post.aggregate([
{
$match:{
productUrl:null
}
},
{
$lookup:
{
来自:“MakeupProduct”,
localField:“makeupProduct”,
foreignField:“\u id”,
as:“makeupProduct”
}
},
{
$set:{
makeupProduct:{
$arrayElemAt:[“$makeupProduct”,0]
}
}
}
])
您可以使用聚合(Compass中的聚合选项卡)使用聚合管道阶段在相关集合之间进行连接。在Compass中,您将能够查询,并且您可能需要进行额外的处理以更新数据。这是否回答了您的问题,您可以查看有关如何使用MongoDB本机的$lookup
运算符的链接。但是,如果您使用Node.Js代码中的mongoose驱动程序,您可以使用.populate()
来完成类似的工作。尝试使用robo3T,它可以免费使用+更好,给你一种外壳般的感觉。