[英]How to update document in an object in an array in an object in an array using MongoDB?
使用 MongoDB 查詢:
1. 如何找到_id A3
的對象?
2. 如何將_id A3
對象更新為A4
?
請注意:數據庫是一組對象,其中一個鍵具有一組對象
[{
"project_name": "ProjectA",
"issues":[{"issue_title":"TitleA1", "_id":"A1"},
{"issue_title":"TitleA2","_id":"A2"},
{"issue_title":"TitleA3","_id":"A3"}]
},
{
"project_name": "ProjectB",
"issues":[{"issue_title":"TitleB1", "_id":"B1"},
{"issue_title":"TitleB2","_id":"B2"},
{"issue_title":"TitleB3","_id":"B3"}]
}
]
您可以使用點符號通過嵌套的_id
匹配您的對象,並使用$unwind和$replaceRoot將嵌套對象提升到頂級:
db.collection.aggregate([
{
$unwind: "$issues"
},
{
$match: { "issues._id": "A3" }
},
{
$replaceRoot:{ newRoot: "$issues" }
}
])
db.col.updateOne({ "project_name": "ProjectA", "issues._id": "A3" }, { $set: { "issues.$._id": "A4" } })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.