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

Обединете с $sum в mongodb

Използвайте $addToSet акумулатор и след това $size оператор за преброяване на броя на уникалните projectId

Worksheet.aggregate([
  { $match: conditions },
  { "$group": {
    "_id": null,
    "billingHours": {
      "$sum": {
        "$cond": [{ "$eq": ["$isBilling", true] }, "$hours", 0]
      }
    },
    "fixContract": {
      "$sum": {
        "$cond": [{ "$eq": ["$isBilling", true] }, 0, "$hours"]
      }
    },
    "projectIds": { "$addToSet": "$projectId" }
  }},
  { "$addFields": { "projectIds": { "$size": "$projectIds" }}}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB прави разлика между undefined и null

  2. MongoDB - интерпретирайте конкретен обяснен изход

  3. MongoDB агрегиране с Java драйвер

  4. Как да конкатенираме масиви от множество документи в MongoDB?

  5. MongoDB $ или оператор на конвейер за агрегиране