2012-12-19 19 views
18

Tu jest mój kod, aby usunąć kilka rekordów przy użyciu pymongopymongo: usuwanie rekordów elegancko

ids = [] 
with MongoClient(MONGODB_HOST) as connection: 
    db = connection[MONGODB_NAME] 
    collection = db[MONGODN_COLLECTION] 
    for obj in collection.find({"date": {"$gt": "2012-12-15"}}): 
     ids.append(obj["_id"]) 
    for id in ids: 
     print id 
     collection.remove({"_id":ObjectId(id)}) 

jest lepszy sposób, aby usunąć te zapisy? jak usunąć cały zestaw rekordów bezpośrednio

collection.find({"date": {"$gt": "2012-12-15"}}).delete() or remove() 

lub usunąć z obj jak

obj.delete() or obj.remove() 

lub somehting podobny?

Odpowiedz

47

można użyć następujących:

collection.remove({"date": {"$gt": "2012-12-15"}}) 
+1

jeśli znasz identyfikator, można po prostu 'collection.remove (dupId)' – Cmag