Mongoose / mongodb - Remove embedded document
mongodb, mongoose
Solution
I think you're looking for $pull.
db.collection.update({_id: ObjectId( "4f8dcb06ee21783d7400003c" )},
{$pull: {attendees: {_id: ObjectId( "4f8dfb06ee21783d7134503a" )}}})
Problem
I have a Schema (called Event) with data that looks like this: ``` { "_id" : ObjectId( "4f8dcb06ee21783d7400003c" ), "venue" : ObjectId( "4f8dcb06ee21783d7400003b" ), "name" : "Some event", "webite: "www.whatever.com", "attendees" : [ { "_id" : ObjectId( "4f8dfb06ee21783d7134503a" ), "firstName" : "Joe", "lastName" : "Blogs", "emailAddress" : "some@thing1.com" }, { "_id" : ObjectId( "4f8dfb06ee21783d7134503b" ), "firstName" : "John", "lastName" : "West", "emailAddress" : "some@thing2.com" } { "_id" : ObjectId( "4f8dfb06ee21783d7134503c" ), "firstName" : "Simon", "lastName" : "Green", "emailAddress" : "some@thing3.com" } { "_id" : ObjectId( "4f8dfb06ee21783d7134503d" ), "firstName" : "Harry", "lastName" : "Smith", "emailAddress" : "some@thing4.com" } ], "eventType" : "Party" } ``` How can I 'delete' the attendees object with id 4f8dfb06ee21783d7134503c? Basically something like.... ``` Event.findOne('attendees._id' : ObjectId('4f8dfb06ee21783d7134503c'), function(err, eventItem){ //delete the attendee embedded doc with id 4f8dfb06ee21783d7134503c }); ```