這個問題在這里已經有了答案: 如何更新檔案陣列中的物件(嵌套更新) 4 個答案 Mongodb:從陣列中查找和更新物件屬性 1 個答案 3天前關閉。
{
"_id" : ObjectId("6221f3a818880f14e3c33040"),
"__v" : 0,
"createdAt" : ISODate("2022-03-04T11:10:32.753Z"),
"pm" : {
"checkList" : [
{
"ch_id" : "621eff4e0ed5c751adaa42fb",
"status" : "statu",
"dateMonthYear" : 1646286480139.0,
"val" : "Gopi",
"remarks" : "Good",
"_id" : ObjectId("6221f3a80a703519a4406e6c")
},
{
"ch_id" : "621eff4e0ed5c751adaa42fb",
"status" : "status",
"dateMonthYear" : 1646286480139.0,
"val" : "Gopi",
"remarks" : "Good",
"_id" : ObjectId("6221f3a80a703519a4406e6e")
}
]
},
"updatedAt" : ISODate("2022-03-04T11:56:59.662Z")
}
上面是集合,我需要pm使用“_id”作為查找條件來更新物件內部的清單陣列。例如,我需要更改_idval和.remarksObjectId("6221f3a80a703519a4406e6e")
如何做到這一點?
uj5u.com熱心網友回復:
You can update a value in an array of nested objects in Mongoose
`db.users.update({"pm.checkList.ch_id" : "621eff4e0ed5c751adaa42fb"},{ $set:{
"pm.checkList.$.val" : "nop",
"pm.checkList.$.remarks" : "bed",
}})`
uj5u.com熱心網友回復:
請使用位置操作“$”嘗試這種方式
讓集合=“洗掉”
db.getCollection(collection).findOneAndUpdate({"data._id":ObjectId("5f2c0ebd7493c812cf59c52c")},{"$set":{"data.$.isDefault" : false}},{new:true})
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438886.html
上一篇:貓鼬復雜聚合管道問題
下一篇:推斷具有默認值的第二種型別
