sql >> Database teknologi >  >> NoSQL >> MongoDB

Aggreger med $sum i mongodb

Brug $addToSet akkumulator og derefter $size operatør for at tælle antallet af unikke 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. 3 måder at konvertere en streng til en dato i MongoDB

  2. Hvordan adskiller redis instansen med flere brugere, der kører på samme server?

  3. Redis `SCAN`:hvordan opretholder man en balance mellem nye kommende nøgler, der kan matche og sikre et endeligt resultat inden for en rimelig tid?

  4. Mongoose findOne indlejret dokument af _id