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

Query MongoDb агрегат обединява две колекции

трябва само да декларирате $someField в раздела нека.

db.collectionA.aggregate([
  {
    $lookup: {
      from: 'collectionB',
      let: { some_field: '$someField' },
      pipeline: [
        { $match: {
            $expr: {
              $and: [
                { $eq: [ "$someField", "$$some_field" ] },
                { $eq: [ "$otherField", "789" ] }
              ]
            }
          }
        }
      ],
      as: 'B'
    }
  },
  {
    $match: {
      $expr: {
        $gt: [ { $size: "$B" }, 0 ]
      }
    }
  }
])

https://mongoplayground.net/p/RTiUMWl8QaX



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Все още ли трябва да предоставяте идентификатори, свързващи други колекции, или просто да включвате колекции?

  2. Как работи примерът за броя на съобщенията в документите на Meteor?

  3. Как да извлечете отделни ключове в обект в MongoDB

  4. Как да създам динамична заявка за равно с помощта на Apache Camel и MongoDB?

  5. MongoDB:как да преброим броя на ключовете в документ?