本文介绍了MongoDb从文档中删除子文档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含以下数据的集合:
I have a collection with a following data:
{ "_id" : ObjectId("4e3951905e746b3805000000"), "m" : "hello", "r" : [{ "_id" : ObjectId("4e3951965e746b8007000000"), "u" : 3, "m" : "response1" }, { "_id" : ObjectId("4e39519d5e746bc00f000000"), "u" : 3, "m" : "response2" }, { "_id" : ObjectId("4e3953dc5e746b5c07000000"), "u" : 3, "m" : "response3" }, { "_id" : ObjectId("4e3953ea5e746bd40f000001"), "u" : 3, "m" : "response" }], "u" : 3, "w" : 3 } { "_id" : ObjectId("4e3952c75e746bd807000001"), "m" : "asdfa", "r" : [{ "_id" : ObjectId("4e39544e5e746bc00f000001"), "u" : 3, "m" : "response5" }], "u" : 3, "w" : 3 }任何人都可以建议如何从"r"键中删除子文档 只有子文档ID,我要删除吗?
Can anyone suggest how to remove a subdocument from a 'r' key having only id of subdocument, I am going to del?
例如我想删除一个ID为4e39519d5e746bc00f000000的子文档 因此,应删除此子文档
for instance i want to del a subdocument with id 4e39519d5e746bc00f000000 So this subdocument should be deleted
{ "_id" : ObjectId("4e39519d5e746bc00f000000"), "u" : 3, "m" : "response2" },推荐答案
很简单,您只需要使用 $ pull 运算符:
It's easy, you just need to use $pull operator:
db.items.update( {}, { $pull : { r : {"_id": ObjectId("4e39519d5e746bc00f000000")} } }, false, false )更多推荐
MongoDb从文档中删除子文档
发布评论