在Mongo shell中,在集合DEPS上运行mapreduce,输出名为STATS:
>show collections
DEPS
STATS
system.indexes
所以我看到两个收藏,没问题。但是:
>db.DEPS.findOne() <-- returns a DEPS record
>db.STATS.findOne() <-- returns err msg "db.stats.findOne is not a function"
所以要查看我需要输入的统计数据:
>db.getCollection("STATS").findOne()
这不是问题,因为我可以看到我需要查看的所有数据。但是作为理解Mongo的问题,为什么第一个集合(通过mongoimport创建)带有findOne方法,第二个集合(通过mapreduce创建)不带?
答案 0 :(得分:4)
有趣。可能集合名称与db.stats()命令(它为您提供数据库统计信息)冲突。不过,我不会在这里看到不区分的情况。
答案 1 :(得分:1)
我遇到了同样的问题,它似乎真的是名称冲突。我想知道如何删除“统计数据”集合,原始问题给出了答案:
>db.getCollection("stats").drop()
只需用drop()
替换findOne()