skip to Main Content

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 🙂 )

2

Answers


  1. 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")
    
    Login or Signup to reply.
  2.    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/

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search