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

Mongoose sum felter fra udfyldte dokumenter

Du kan prøve nedenstående aggregering i 3.4.

$lookup for at slå point op for afsluttede spor efterfulgt af $addFields for at returnere et scorefelt, der summerer pointene og $project med udelukkelse for at slette opslagsdatafeltet fra svar.

UserModel.aggregate([
  {"$lookup":{
    "from":"tracks", // name of the foreign collection
    "localField":"completedTracks",
    "foreignField":"_id",
    "as":"lookup-data"
  }},
  {"$addFields":{
    "score":{
      "$sum":"$lookup-data.points"
    }
  }},
  {"$project":{"lookup-data":0}}
])



  1. Matcher et array-felt, som indeholder en hvilken som helst kombination af det leverede array i MongoDB

  2. Hvorfor anbefales det ikke at lukke en MongoDB-forbindelse nogen steder i Node.js-koden?

  3. Sådan opretter du indekser i MongoDB via .NET

  4. Sådan bruger du $query, $hint eller $explain fra Java