database - 如何按创建日期删除 MongoDB 中的数据?
问题描述
我有一个包含 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}})
推荐阅读
- scala - 凿子:有没有办法根据向量的值对向量进行切片?
- java - 如何使用 flatMap 实现这一点
- java - 当我创建的类需要一个 int 数组时,我如何传递一个字符串数组(包含:、字母数字和空格)?
- json - 创建文本文件时的VBA特殊字符编码问题
- excel - Excel日期月日年转换
- laravel - Laravel 通过视图传递大数据,加载时间慢
- linux-kernel - YOCTO:如何排除保留和处理我的嵌入式板 GPIO 的驱动程序
- sql - 在SQL中将两个count的结果相除
- mysql - 同表更新和选择操作
- .net-core - NuGet:更新 appsettings.json,添加 readme.txt