sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb frågeuppdatering välj kapslade fält

Du kan använda nedanstående fråga

db.getCollection("test").updateOne(
  {
    "_id": ObjectId("5cd26a886458720f7a66a3b8"),
    "calendar.calendar": {
      "$elemMatch": {
        "_id": ObjectId("5cd26a886458720f7a66a413"),
        "rooms._id": ObjectId("5cd26a886458720f7a66a415")
      }
    }
  },
  { "$set": { "calendar.calendar.$[outer].rooms.$[inner].price": "100000" } },
  {
    "arrayFilters": [
      { "outer._id": ObjectId("5cd26a886458720f7a66a413") },
      { "inner._id": ObjectId("5cd26a886458720f7a66a415") }
    ]
  }
)

Jag kommer att uppdatera mitt svar med lite förklaring efteråt




  1. Hur aggregerar man efter datum när en fullständig tidsstämpel ges i aggregeringsramverket?

  2. Kan du ange en nyckel för $addToSet i Mongo?

  3. pymongo får E11000 duplicate key error index pymongo error

  4. Är detta ett bra användningsfall för Redis på ett ServiceStack REST API?