sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose summafält från ifyllda dokument

Du kan prova nedanstående aggregering i 3.4.

$lookup för att slå upp poängen för avslutade spår följt av $addFields för att returnera ett poängfält som summerar poängen och $project med undantag för att ta bort uppslagsdatafältet från 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. MongoDB-resultatuppsättning för Aggregate()

  2. Hitta dagens sista dokument för de senaste 7 dagarna

  3. konfiguration max gammal utrymmesstorlek i Nodejs

  4. Hur man skriver en python-applikation som stöder flera databaser