我们的数据库目前正在运行,一切似乎都很好。我想做一些统计,所以我做了一些标准的电话。基本上我想要一些特定数据的数量。
首先是一些基本调用,向您显示数据库中确实存在数据。
> db.files.count()
814639
> db.files.find({"migrated":true})
{ "migrated" : true, "filename" : "bleh",... }
...
显然有数据,并且调用返回它。现在我想知道有多少结果,但我明白了:
> db.files.count({"migrated":true})
0
我也这样做了:
> db.files.find({"migrated":true}).count()
0
有没有人知道为什么会发生这种情况?
版本是:
> db.version()
1.8.1
非常感谢任何帮助
答案 0 :(得分:1)
这个问题很可能与以下错误有关:
在我的情况下(mongodb 2.0.1)与数据库损坏有关。见find().count() bug?
答案 1 :(得分:1)
过了一会儿,但我现在正在关闭它。但这是一个腐败的数据库。必须手动将所有项目从一个数据库移动到一个新数据库,因为备份在发现损坏的数据时停止,之后的有效数据没有被备份。