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

Търсене в MongoDB, когато чуждото поле е масив от обекти

Можете да използвате агрегирането по-долу с mongodb 3.6 и по-горе

db.resources.aggregate([
  { "$match": { "type": "FUNC" } },
  { "$lookup": {
    "from": "initiatives",
    "let": { "id": "$_id" },
    "pipeline": [
      { "$match": { "$expr": { "$in": ["$$id", "$ressources.function"] } } },
      { "$unwind": "$ressources" },
      { "$match": { "$expr": { "$eq": ["$ressources.function", "$$id"] } } },
      { "$group": {
        "_id": "$ressources.function",
        "participation_sum": { "$sum": "$ressources.participating" }
      }}
    ],
    "as": "result"
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не може да се създаде/отваря файл за заключване:/data/mongod.lock errno:13 Отказано разрешение

  2. Как мога да обещая собствения Javascript драйвер на MongoDB, използвайки bluebird?

  3. Как да изберете поддокументи с MongoDB

  4. Преведете Queryable<T> обратно към IMongoQuery

  5. Запитване в Mongodb за месец, ден, година... на дата и час