5
删除单个对象从对象的数组
假设我们有文件下列集合:MongoDB中
{ "_id" : ObjectId("50a69fa904c8310609600be3"), "id" : 100, "city" : "San Francisco", "friends" : [ { "id" : 1, "name" : "John" }, { "id" : 2, "name" : "Betty" }, { "id" : 3, "name" : "Harry" } ] }
{ "_id" : ObjectId("50a69fc104c8310609600be4"), "id" : 200, "city" : "Palo Alto", "friends" : [ { "id" : 1, "name" : "Carol" }, { "id" : 2, "name" : "Frank" }, { "id" : 3, "name" : "Norman" } ] }
{ "_id" : ObjectId("50a69fc304c8310609600be5"), "id" : 300, "city" : "Los Angeles", "friends" : [ { "id" : 1, "name" : "Fred" }, { "id" : 2, "name" : "Neal" }, { "id" : 3, "name" : "David" } ] }
.
.
.
现在,让我们说,弗兰克(帕洛阿尔托,ID = 2)不再是我的朋友,我想从集合中删除他。我认为以下方法可行,但它不会:
db.test.update({"city":"Palo Alto"},{"$pull":{"friends.name":"Frank"}})
我希望能够做到这样的事情。在文档集合中删除数组内的对象。你怎么做到这一点?
谢谢!试图弄清楚这一点,我会让自己头脑发呆。 –