Nyx*_*nyx 4 python mongodb pymongo python-2.7
我们如何使用PyMongo批量删除大量文档?
如果我们从一个文档列表开始,
docs = list( db.animals.find({'color':'red'}) )
Run Code Online (Sandbox Code Playgroud)
执行以下操作实际上不会从集合中删除任何内容!
toRemove = [x['_id'] for x in docs]
db.animals.remove(toRemove)
Run Code Online (Sandbox Code Playgroud)
批量删除的正确方法是什么?
只需使用remove您使用的相同方式即可find.
如果以下行返回要删除的记录:
db.animals.find({'color':'red'})
Run Code Online (Sandbox Code Playgroud)
然后这将删除它们:
db.animals.remove({'color':'red'})
Run Code Online (Sandbox Code Playgroud)
如果您已经有要删除的ID列表,可以_id使用$in运算符删除过滤器,如下所示:
db.animals.remove({'_id': {'$in': idsToRemove}})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2929 次 |
| 最近记录: |