mongodb集合 - 有些做,有些不做

时间:2011-11-22 04:02:24

标签: mongodb

在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创建)不带?

2 个答案:

答案 0 :(得分:4)

有趣。可能集合名称与db.stats()命令(它为您提供数据库统计信息)冲突。不过,我不会在这里看到不区分的情况。

答案 1 :(得分:1)

我遇到了同样的问题,它似乎真的是名称冲突。我想知道如何删除“统计数据”集合,原始问题给出了答案:

>db.getCollection("stats").drop()

只需用drop()

替换findOne()