sql >> Databasteknik >  >> NoSQL >> MongoDB

mongoDB Gå med på flera fält

För närvarande mongodb $lookup jämför bara enstaka lokala och utländska nyckel.

Men om du vill utföra en fråga som mysql left join med två eller fler arkiverade så är lösningen nedan.

db.getCollection('LeftTable').aggregate([
{
    $lookup:
        {
          from: "RightTable",
          localField: "ID",
          foreignField: "ID",
          as: "RightTableData"
        }
},  
{$unwind :"$RightTableData" },
{ 
     $project: { 
            mid: { $cond: [ { $eq: [ '$MID', '$RightTableData.MID' ] }, 1, 0 ] } 
        } 
},
{$match : { mid : 1}}

])

Här är $MID LeftTable MID-fält.



  1. Vad är det rätta sättet att hantera Mongodb-anslutningar?

  2. Att exportera system.profile från MongoDB fungerar inte

  3. meteor ladda upp en fil till mongodb

  4. Hur returnerar jag flask render_template efter att Redis bakgrundsjobb är gjort?