MongoDBを使用して、配列内のオブジェクト内のオブジェクト内のドキュメントを配列内のオブジェクト内で更新するにはどうすればよいですか?

wongz

MongoDBクエリの使用:
1。でオブジェクトを見つけるにはどうすればよい_id A3ですか?
2.どのように私は、オブジェクトを更新してしまう_id A3A4

注意:データベースはオブジェクトの配列であり、1つのキーにオブジェクトの配列があります

[{
"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"}]
}
]
mickl

ドット表記使用して、ネストされたオブジェクト$ matchし$ unwind$ replaceRoot_id使用して、ネストされたオブジェクトをトップレベルに昇格させることができます。

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" } })

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ