Home > Net >  Deleting a multiple documents in a MongoDB collection by a nested array element
Deleting a multiple documents in a MongoDB collection by a nested array element

Time:07-19

I am new to Mongo and I have a question about deleting documents using PyMongo.

I have a collection called mycollection. It has documents looking like this:

{
    "field1":"value1",
    "field2":"value2",
    "array_field": [
        "id1",
        "id2
    ]
}

I want to delete all documents in the collection which has id1 in the array_field.

How can I do this? (I am using PyMongo, I would appreciate examples based on it :) )

CodePudding user response:

this should do

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = client["DATABASE"]
col = mydb["mycoll"]
 
query = {"array_field": "id1"}
d = col.delete_many(query)
 
print(f"{d.deleted_count} documents deleted")

CodePudding user response:

   db.collection.deleteMany({
      "array_field": {
        $in: [
          "id1"
        ]
      }
    })

Check the mongoplayground link: https://mongoplayground.net/p/nkhSCRyR9K-

https://www.mongodb.com/docs/manual/reference/operator/query/

  • Related