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

Filter arrays i mongodb

  • $map at gentage loop af all_users matrix
  • $cond tjek tilstanden hvis id er i udvalgte brugere id returner derefter "ja" ellers "nej" i selected felt
  • $mergeObject for at flette nuværende brugerobjekt med ovenstående selected felt
db.collection.aggregate([
  {
    $project: {
      all_users: {
        $map: {
          input: "$all_users",
          in: {
            $mergeObjects: [
              "$$this",
              {
                selected: {
                  $cond: [
                    { $in: ["$$this.id", "$selected_users.id"] },
                    "yes",
                    "no"
                  ]
                }
              }
            ]
          }
        }
      }
    }
  }
])

Legeplads



  1. bedst mulige skemadesign til loganalysedatabase i mongodb

  2. Send formulardata til matrix af eksisterende MongoDB-dokument ved hjælp af Express og Mongoose

  3. mongoexport uden _id felt

  4. MongoDB samlede antal er for langsomt