2016-08-06 44 views
0

Wie führe ich einen linken äußeren Join aus, während ich auf Daten aus mehreren Sammlungen zugreife? Ich möchte die Details aus der Sammlung abrufen, auch wenn es in DB_Market keine Übereinstimmung gibt. Derzeit, wenn ich weiter mit Bedingung filtere, bin ich in der Lage, innere Verbindung zu erreichen. Allerdings brauche ich zusätzlich noch links außen.Der linke äußere Join kann nicht mithilfe von mongoDB ausgeführt werden. Skript

Beispielcode

db.new.aggregate([ 
{ 
    "$lookup": { 
       "from": "DB_Market", 
       "localField": "var1", 
       "foreignField": "var1", 
       "as": "collection2_doc" 
      } 
}, 

{"$unwind": "$collection2_doc" }]) 

Antwort

1

Ich glaube, Sie linke äußere Verknüpfung durchführen können. Wenn Sie $unwind tun, stellen Sie sicher, preserveNullAndEmptyArraystrue

db.new.aggregate([ 
    { 
     $lookup: { 
        "from": "DB_Market", 
        "localField": "var1", 
        "foreignField": "var1", 
        "as": "collection2_doc" 
       } 
    }, 

    {$unwind: { path: "$collection2_doc", preserveNullAndEmptyArrays: true } } 

    ]) 
ist