34

How to delete document from MongoDB using Mongoengine? I'veread the API reference here:
http://docs.mongoengine.org/apireference.html
but I can not understand what is:

delete(**write_concern)

Do you have any idea?

ehsan shirzadi
  • 4,709
  • 16
  • 69
  • 112
  • I don't know mongoEngine, but i Think that Write concern is http://docs.mongodb.org/manual/core/write-concern/ and `fsync: True` i think that force write on primary ( journaled ) – Barno Jul 31 '14 at 09:34

2 Answers2

85

You can either delete an single Document instance by calling its delete method:

lunch = Food.objects.first() // Get a single 'Food' instance
lunch.delete() // Delete it!

Or you can delete all items matching a query like so:

Food.objects(type="snacks").delete()
Ross
  • 17,861
  • 2
  • 55
  • 73
  • You may also want to use `lunch = Food.objects.get()` if you expect one and only one document to match the query (typically request by ID). – Jérôme Jun 02 '16 at 13:21
  • Hey @ross, how can I now what is the status of the delete? means, how can I know it the delete ended with success of failure? anyway to retrieve that status? – Shai M. Apr 30 '18 at 14:21
  • @ShaiM. using try catch – Mamen Feb 11 '20 at 10:04
-16

U can use the mongoshell and issue the following command:

db.collection.remove({your condition on documents you want to remove})

for example: From food collection you want to remove all the food which has type snacks. then you can issue the following command:

db.food.remove( { type : "snacks" } )
stacky
  • 108
  • 1
  • 15