0
 {
CONTENT1:{
YDXM:[{
"name":"1",
"MBNH":"1"}
{"name":"2",
"MBNH":"2"}]
}

を削除したい{"name":"1","MBNH":"1"}。どうすればこれを達成できますか?

4

1 に答える 1

0

以下がドキュメントであり、ドキュメント全体を削除したいとします

{
    "CONTENT1": {
        "YDXM": [
            {
                "name": "1",
                "MBNH": "1"
            },
            {
                "name": "2",
                "MBNH": "2"
            }
        ]
    }
}

これを使用できます:

db.test.remove({"CONTENT1.YDXM.name" : "1", "CONTENT1.YDXM.MBNH" : "1"})

ここで、 CONTENT1.YDXM{"name" : "1", "MBNH" : "1"}配列からドキュメントを抽出する場合は、$pull 演算子を使用する必要があります。

db.test.update({"CONTENT1.YDXM.name" : "1", "CONTENT1.YDXM.MBNH" : "1"}, { $pull :  { "CONTENT1.YDXM" : {"name" : "1", "MBNH" : "1"}  } }, false, true)

これにより、最初の引数に一致するすべてのドキュメントで更新が実行されます。$pull 演算子を含む 2 番目の引数は、mongodb が{"name" : "1", "MBNH" : "1"}CONTENT1.YDXM 配列から値を削除することを意味します。

このリンクで $pull オペレーターと更新コマンドの詳細を読むことができます: http://docs.mongodb.org/manual/reference/operator/pull/ http://docs.mongodb.org/manual/applications/update/

于 2012-12-04T23:19:46.120 に答える