mongodb 查找ip 字段删除集合中创建时间最早2条 用json 方式
以下是使用MongoDB shell命令进行查找ip字段删除集合中创建时间最早2条的示例:
db.collection.find({ip: { $exists: true }}).sort({created_at: 1}).limit(2).forEach(function(doc) {
db.collection.deleteOne({ _id: doc._id });
});
其中,collection是集合名称,ip是要查找的字段名,created_at是创建时间字段名。这个命令首先查找集合中存在ip字段的文档,然后按照created_at字段的升序排序,取前两个文档,对每个文档执行删除操作,最终删除最早的两个文档。
如果要将上述命令以JSON方式保存为文件,可以将命令的每一行都放入一个JSON数组中,如下所示:
[
{ "find": "collection", "filter": { "ip": { "$exists": true } } },
{ "sort": { "created_at": 1 } },
{ "limit": 2 },
{
"forEach": {
"action": { "deleteOne": { "_id": "$$CURRENT._id" } }
}
}
]
然后使用mongo命令执行该文件,如下所示:
mongo dbname --quiet filename.json
其中,dbname是数据库名,filename.json是保存上述JSON数组的文件名。--quiet参数可以关闭MongoDB shell的输出,只输出结果。
原文地址: https://www.cveoy.top/t/topic/dvLD 著作权归作者所有。请勿转载和采集!