任何人都有一个方便的mongo
命令来删除数据库中早于X日期/ X天的所有条目?
基本上有一个开发和生产数据库,我正在寻找修改dev DB以限制大小。
感谢您的帮助!
答案 0 :(得分:3)
你可以从mongo shell做这样的事情。
var older=Date.parse("2013-03-01"),collection=db.so,all=collection.find();
all.forEach(function(doc) { var ts = doc._id.getTimestamp();
if (ts < older) { collection.remove(doc); } });
以上行(您将其粘贴到shell中)将删除2013年3月1日之前创建的指定集合(collection=db.so
)中的所有文档。它依赖于每个{{1有一个嵌入式ObjectId
(基于文档创建的timestamp
(docs)),可以检索和使用它。
您当然可以更改查询以查找文档中的特定时间戳字段。
timestamp
答案 1 :(得分:2)
您可以使用mongo概念在指定的时间后删除数据,通过设置TTL从集合中过期数据。
请参阅以下链接 http://docs.mongodb.org/manual/tutorial/expire-data/