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

MongoDB $in с подзаявка

Можете да използвате $lookup с тръбопровод,

  • $match ще провери active състояние
  • $lookup ще се присъедини към колекцията лидери
    • $match за да проверите leader_id и organization
  • $match контролните лидери не са [] празен
  • $project за премахване на leaders поле
db.teams.aggregate([
  { $match: { active: 1 } },
  {
    $lookup: {
      from: "leaders",
      let: { leader_id: "$leader_id" },
      as: "leaders",
      pipeline: [
        {
          $match: {
            $and: [
              { $expr: { $eq: ["$_id", "$$leader_id"] } },
              { organization: "Software Development" }
            ]
          }
        }
      ]
    }
  },
  { $match: { leaders: { $ne: [] } } },
  { $project: { leaders: 0 } }
])

Playground




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Трябва ли да използвам опцията allowDiskUse в продуктова среда?

  2. Високопроизводителни MongoDB клъстери в Azure

  3. Търсене на пълен текст с тегло в мангуста

  4. актуализирайте множество елементи в масив mongodb

  5. променлива с mongodb точка