删除mongodb中过时的集合

时间:2016-06-10 06:40:47

标签: mongodb

我想删除我的数据库中长时间未使用的所有集合。有什么原因可以检查上次使用特定系列的时间吗?

1 个答案:

答案 0 :(得分:1)

这取决于你''上次使用'的含义。如果您的意思是最后一次将文档插入到集合中,那么您可以通过将最后插入的文档的ObjectId转换为日期来完成此操作。以下查询应返回插入最后一个文档的日期:

db.<collection_name>.findOne({},{_id:1})._id.getTimestamp()

findOne查询将按自然顺序返回文档,因此如果您不输入查询条件(“{}”),则它将返回最近插入的文档。然后,您可以获取_id字段并调用getTimestamp()函数

我不确定是否有办法可靠地判断上次查询集合的时间。如果您正在运行启用了性能分析的数据库,那么db.system.profile集合或oplog中可能存在条目。