我想验证我们设置的几个Mongo数据库是否实际使用过。因此我希望得到上次写操作的时间戳。到目前为止我发现了什么:
使用时间戳查询集合。问题:针对不同集合的不同查询。并非所有人都有时间戳。许多数据库中有很多集合。
Oplog一般。对于STANDALONE服务器将无法工作 - 除非我现在通过在副本集中运行独立服务器来创建oplog。那么也许我可以ping oplog并获取数据。让JS脚本询问最后的对象可能会更快。
mongooplog command。用于复制更改(将更改从A更改为B)。我宁愿浏览oplog本身。
使用ObjectID(它的时间戳精确到一秒)。甚至还有一步一步的博客文章detailing how。
但是,我想知道是否有办法只查询数据库并让它回答。最好每个集合,但如果我能得到每个数据库的答案,将是很酷的。那将允许我删除未使用的DB。有什么我可以用的吗?
答案 0 :(得分:1)
怎么样
db.serverStatus()
在此命令的输出中,您有多个操作:
"opcounters" : {
"insert" : 1111,
"query" : 532,
"update" : 0,
"delete" : 0,
"getmore" : 4,
"command" : 357
},
连接数:
"connections" : {
"current" : 1,
"available" : 2047
},
网络利用率:
"network" : {
"bytesIn" : 82202280,
"bytesOut" : 24469137,
"numRequests" : 1635
},
这足以简单监控