2015-05-22 47 views
0

是否可以通过ID和名称删除文档? 我有一个具有一个ID的大文档,我想通过名称删除其中的指定文档。通过id和名称从MongoDb中删除数据?

[ 
    { 
    "_id": "555edae64d03d5282035228a", 
    "name": "Sr1", 
    "d1": [ 
     { 
     "name": "testDoc1", 
     }, 
     "d2": [ 
     { 
     "name": "testDoc2", 
     } 
    ] 
    } 
] 

例如,我想只删除d1。

+2

你的意思是从文档中删除字段或者删除一个键/字段标识的文件本身?另外,您是否可以提供关于您在Stack Overflow上询问的其他问题的答案的反馈,他们没有任何可接受的解决方案? – chridam

+0

我想只删除该字段。 我可以标记问题解决? – mk2015

+2

给定的文档结构不是有效的JSON。 – Yogesh

回答

1

当你说出你想要删除d1,您可以使用蒙哥来$unset从文档中删除d1。 查询会是这样 -

db.collection.update({"_id":"555edae64d03d5282035228a"},{$unset:{d1:""}}) 

或在d1阵列比较name喜欢 -

db.collection.update({ 
    "_id": "555edae64d03d5282035228a", 
    "d1": { 
    $elemMatch: { 
     name: "testDoc1" 
    } 
    } 
}, { 
    $unset: { 
    d1: "" 
    } 
})