MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongoDB Присъединете се към множество полета

В момента mongodb $lookup сравнявайте само единични местни ичуждестранни ключ.

Но ако искате да изпълните заявка като mysql left join с две или повече полета, решението е по-долу.

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

])

Тук $MID е LeftTable MID поле.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Използвайте повече от една схема на колекция в mongodb

  2. MongoError:свържете ECONNREFUSED 127.0.0.1:27017

  3. Не може да се използва BsonIgnoreIfDefault за свойство от тип long

  4. MongoDB извлича стойности от BasicDBObject (Java)

  5. Mongo db агрегиране на множество условия