sql >> Databáze >  >> NoSQL >> MongoDB

mongoDB Připojte se na více polích

Momentálně mongodb $lookup porovnat pouze jeden místní a zahraniční klíč.

Ale pokud chcete provést dotaz jako mysql left join se dvěma nebo více poli, níže je řešení.

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

])

Zde je $MID LeftTable pole MID.



  1. Jak provést převzetí služeb při selhání do nového hlavního uzlu při použití Redis s Sentinel a redis-py?

  2. Dotaz na dokumenty, kde je velikost pole větší než 1

  3. Jak odstranit minimální hodnotu v mongodb pro skupinu?

  4. Dynamické dotazy v MongoDB a Node.js