猫鼬/ MongoDB的 - 删除嵌入文档
问题描述:
我有一个架构(称为事件)的数据,看起来像这样:猫鼬/ MongoDB的 - 删除嵌入文档
{ "_id" : ObjectId("4f8dcb06ee21783d7400003c"),
"venue" : ObjectId("4f8dcb06ee21783d7400003b"),
"name" : "Some event",
"webite: "www.whatever.com",
"attendees" : [
{ "_id" : ObjectId("4f8dfb06ee21783d7134503a"), "firstName" : "Joe", "lastName" : "Blogs", "emailAddress" : "[email protected]" },
{ "_id" : ObjectId("4f8dfb06ee21783d7134503b"), "firstName" : "John", "lastName" : "West", "emailAddress" : "[email protected]" }
{ "_id" : ObjectId("4f8dfb06ee21783d7134503c"), "firstName" : "Simon", "lastName" : "Green", "emailAddress" : "[email protected]" }
{ "_id" : ObjectId("4f8dfb06ee21783d7134503d"), "firstName" : "Harry", "lastName" : "Smith", "emailAddress" : "[email protected]" }
],
"eventType" : "Party"
}
我怎样才能“删除”与会者ID为4f8dfb06ee21783d7134503c对象?
基本上类似....
Event.findOne('attendees._id' : ObjectId('4f8dfb06ee21783d7134503c'), function(err, eventItem){
//delete the attendee embedded doc with id 4f8dfb06ee21783d7134503c
});
答
我认为你正在寻找$pull。
db.collection.update({_id: ObjectId("4f8dcb06ee21783d7400003c")},
{$pull: {attendees: {_id: ObjectId("4f8dfb06ee21783d7134503a")}}})
你知道,发布有效的代码可以提供帮助。 – 2012-04-20 12:57:28
哪位不合法? – Alex 2012-04-20 13:24:47
尝试插入帖子中的对象。 – 2012-04-20 13:26:48