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

现在,如果你想{"name" : "1", "MBNH" : "1"}CONTENT1.YDXM数组中提取文档,你应该使用 $pull 操作符:

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

这将在与第一个参数匹配的所有文档中执行更新。第二个参数,带有 $pull 运算符,意味着 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 回答