So habe ich Sammlungen projects
das Feld contacts.envCon.$id
hat:
{
"_id" : ObjectId("5807966090c01f4174cb1714"),
"name" : "Terracon"
}
:
{
"contacts" : {
...
"envCon" : {
"$ref" : "contacts",
"$id" : ObjectId("5807966090c01f4174cb1714") <---- NOTICE!!!
}
...
}
}
Auf contacts
Sammlung Objekt mit der ID Example12345
wie folgt aussieht
So versuchte ich die folgende $ lookup von Aggregation Framework:
db.getCollection('projects').aggregate([
{
$lookup:{
from: "contacts",
localField: "contacts.envCon.id",
foreignField: "id",
as: "example"
}
}
]);
Aber es tut nicht die JOIN was fehlt mir? wie Suchen zwischen 2 Sammlungen mit contacts.envCon.id
von Projekten und _id
von Kontakten.
Ich benutze Meteor nur für den Fall.
Sein Objekt _ids sind mongodb native _ids, nicht Meteor generiert. –
die IDs sind nur Beispiele Ich wollte nicht die ganze lond ID kopieren, nur ein Beispiel, um es lesbarer zu machen, ich bearbeite es, um es in beide echten IDs aufzunehmen. – commonSenseCode
Ich habe meine Antwort aktualisiert, um anzuzeigen, dass die Aggregation funktioniert. Wie verhält sich die Aggregation in diesem Beispiel in Ihrer Umgebung? –