当我使用db时,MongoDB报告为零。<;集合名称>;。计数()

当我使用db时,MongoDB报告为零。<;集合名称>;。计数(),mongodb,Mongodb,我很确定我的问题是我打断了一个查询,我只是不知道如何恢复。即使我使用db..count()时可以看到我的db超过了60GB,我还是得到了0。我已经离开了。我尝试了db.repairDatabase()db.stats()db.getMongo()显示与本地主机的连接 当我使用db..count()时,我希望得到一个非零值。所以现在我很困惑下一步该做什么,请帮助我 如果您使用的是WiredTiger存储引擎,当数据库未完全关闭时,可能会出现不准确的计数结果。在: 在使用Wired Tiger存储引

我很确定我的问题是我打断了一个查询,我只是不知道如何恢复。即使我使用
db..count()
时可以看到我的db超过了60GB,我还是得到了0。我已经离开了。我尝试了
db.repairDatabase()
db.stats()
db.getMongo()
显示与本地主机的连接


当我使用
db..count()
时,我希望得到一个非零值。所以现在我很困惑下一步该做什么,请帮助我

如果您使用的是WiredTiger存储引擎,当数据库未完全关闭时,可能会出现不准确的计数结果。在:

在使用Wired Tiger存储引擎不干净地关闭mongod后,count()报告的计数统计数据可能不准确

如链接中所述,运行:

db.<collection>.validate()
db..validate()

应该恢复正确的计数。

您提到了您尝试过的任何东西,但没有提到您想要做什么,实际上,我的意思是您希望得到什么?我希望得到非零结果,因为我在出错之前得到了该结果。您是否使用了
db..count()
?是,我已经使用use命令进入了正确的db和集合,这给了我切换到的结果,但仍然没有结果。您尝试过所有集合的计数吗?我尝试过并得到了:db.RDC_NUS.validate(){“ok”:0,“errmsg”:“ns not found”,“valid”:false}并且我的计数仍然为零这是一个独立节点,副本集,或者分片集群?另外,如果执行
db..find()
,它是否返回任何内容?[
code
](db..find())没有生成任何结果。这是另外两台服务器的副本集,我不是管理员。其他两个集合说不是master,我认为这很好,对吗?在副本集合中,只能有一个主节点,其他节点将是辅助节点(即在
db.isMaster()
output中不是master)。看见但是,如果
validate()
返回
ns not found
并且
find()
不返回任何内容,则该集合实际上不存在。您是如何发现该集合使用的是60 GB?