有人可以告诉我你在MongoDB数据库中的一个集合中删除N个随机选择的文件(理想情况下是Python)的优雅方式是什么?我想像这样使用一些简洁
db.users.remove({ $sample: { size: N } })
但是这个没有解析,我找不到其他地方的工作替代品。非常感谢!
答案 0 :(得分:1)
使用聚合来获取样本并将_id值存储到列表中:
list_of_ids=list(db.users.aggregate([{'$sample': {'size': 10 }}, {'$project' : {'_id' : 1}} ]))
使用delete_many删除示例文档
results = db.users.delete_many({'_id: {'$in': list_of_ids}})
(*)请务必在此处查看$sample
的限制