【发布时间】:2019-01-28 10:53:36
【问题描述】:
我有一个包含 380k 文档的 MongoDB,我想删除在特定日期之前创建的所有文档。 谁能帮我写这个任务的查询? 谢谢。
【问题讨论】:
-
the answers here 可能会有所帮助
我有一个包含 380k 文档的 MongoDB,我想删除在特定日期之前创建的所有文档。 谁能帮我写这个任务的查询? 谢谢。
【问题讨论】:
文档的ObjectId 基本上是包含时间戳的。因此,您可以轻松地从时间戳构造ObjectId,并像这样使用$lt 运算符(python 代码):
from bson.objectid import ObjectId
ts = datetime.datetime(2017, 1, 1)
doc_id = ObjectId.from_datetime(ts)
result = collection.find({"_id": {"$lt": doc_id}})
【讨论】: