sql >> Database >  >> NoSQL >> MongoDB

mongoDB Doe mee op meerdere velden

Momenteel mongodb $lookup vergelijk alleen enkele lokale en buitenlandse sleutel.

Maar als u een query wilt uitvoeren zoals mysql left join met twee of meer gearchiveerd, dan is hieronder de oplossing.

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}}

])

Hier is $MID LeftTable MID veld.



  1. Waarom geeft Mongodb me niet meer dan 100 documenten?

  2. Hoe maak ik automatisch een resque worker bij het opstarten?

  3. Lua-script en redis - hoe te testen op Geen-waarde

  4. String naar datum converteren in mongodb