sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose findById() i ett objekt av kapslade scheman / underdokument - aggregering

Demo - https://mongoplayground.net/p/t5VYdkrL_nC

db.collection.aggregate([
  {
    $match: { // filter the document so uniwnd and group have only 1 record to deal with
      $or: [
        { "types.exampleOne._id": "608a5b290e635ece6828141e" },
        { "types.exampleTwo._id": "608a5b290e635ece6828141e" }
      ]
    }
  },
  {
    $group: {
      _id: "$_id",
      docs: { $first: { "$concatArrays": [ "$types.exampleOne", "$types.exampleTwo" ] } } // join both array into 1 element
    }
  },
  { $unwind: "$docs" }, //  break into individual documents
  {
    $match: { // filter the records
     "docs._id": "608a5b290e635ece6828141e"
    }
  },
  { $replaceRoot: { "newRoot": "$docs" } } // set it to root
])



  1. $in mongoDB operator med _id i perl

  2. Använda variabler i MongoDB-uppdateringssatsen

  3. Omvänd paginering genom en Redis sorterad uppsättning

  4. 3 sätt att få veckan från en dejt i MongoDB