2012-12-19 24 views
18

İştepymongo: Silinecek kayıtları zarif

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

pymongo kullanarak kayıtların bir demet silmek için benim kod, bu kayıtları silmek için daha iyi bir yolu kadar? gibi doğrudan

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

kayıtların bir bütün seti silmek veya obj

obj.delete() or obj.remove() 

gibi veya somehting benzer silmek?

cevap

47

Aşağıdaki sayfada:

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

Eğer id biliyorsanız yapabilirsiniz basitçe 'collection.remove (dupId)' – Cmag