查找链接文档属性等于值的mongodb文档

查找链接文档属性等于值的mongodb文档,mongodb,Mongodb,我有一个MongoDb文档,它链接到不同集合中的另一个文档 收藏A就像 {u id:…,联系人id:ObjectId('1234')} 联系人集合类似于: {u id:ObjectId('1234'),名称:'Joe'} 我试图找到所有链接联系人姓名为“Joe”的文档 我无法理解您将如何执行此操作。您无法在单个查询中执行此操作,因为MongoDB不支持联接。相反,您必须将其分为两个查询:第一个查询获取Joe的\u id,第二个查询获取他的A文档。我不确定您使用的是哪种语言,但在shell中: d

我有一个MongoDb文档,它链接到不同集合中的另一个文档

收藏A就像

{u id:…,联系人id:ObjectId('1234')}

联系人集合类似于:

{u id:ObjectId('1234'),名称:'Joe'}

我试图找到所有链接联系人姓名为“Joe”的文档


我无法理解您将如何执行此操作。

您无法在单个查询中执行此操作,因为MongoDB不支持联接。相反,您必须将其分为两个查询:第一个查询获取Joe的
\u id
,第二个查询获取他的
A
文档。我不确定您使用的是哪种语言,但在shell中:

db.A.find({contact\u id:db.contacts.findOne({name:'Joe'})。\u id});
您可以在@johnyhk answer之后使用MongoDB v3.2中引入的

db.A.aggregate(
[
{
$lookup:{
localField:“联系人id”,
发件人:“联系人”,
foreignField:“\u id”,
as:“联系人”
}
},
{
$match:{
“联系人姓名”:“Joe”
}
}
]
)