0
所以我有收藏projects
其中有場contacts.envCon.$id
:
{
"contacts" : {
...
"envCon" : {
"$ref" : "contacts",
"$id" : ObjectId("5807966090c01f4174cb1714") <---- NOTICE!!!
}
...
}
}
在contacts
集合對象ID爲Example12345
看起來是這樣的:
{
"_id" : ObjectId("5807966090c01f4174cb1714"),
"name" : "Terracon"
}
所以我試着從聚合框架中進行以下$查找:
db.getCollection('projects').aggregate([
{
$lookup:{
from: "contacts",
localField: "contacts.envCon.id",
foreignField: "id",
as: "example"
}
}
]);
但它沒有加入我缺少什麼?如何使用來自項目的contacts.envCon.id
和來自聯繫人的_id
在2個收藏集之間進行查找。
我正在使用流星以防萬一。
他的對象_ids是mongodb原生_ids,而不是流星生成的。 –
id只是例子我不想複製所有的lond id,只是一個例子,使它更具可讀性,我將它編輯爲包含在兩個真正的id中。 – commonSenseCode
我更新了我的回覆以顯示聚合工作。這個例子中聚合如何在你的環境中表現出來? –