集合未定义

时间:2015-03-02 21:26:58

标签: mongodb mongodb-query

嗨,我是MongoDB的新手,我遇到了一些我非常肯定应该工作的命令。

现在,该系列名为“fea5dc60-b898-11e4-ac68-a5f571ea05d9”。所以我显然想重命名它。但无论我使用什么命令,它都会说“b898未定义”。我有一种感觉,因为名字中的破折号引起了混乱。

我已经尝试了所有这些并且我一直收到这个错误。我知道这些命令有效,因为我安装了MongoVUE,它显示了它正在使用的命令..我直接将该命令复制并直接粘贴到控制台中:

db.fea5dc60-b898-11e4-ac68-a5f571ea05d9.renameCollection("NAME")
db.fea5dc60-b898-11e4-ac68-a5f571ea05d9.find()
db.fea5dc60-b898-11e4-ac68-a5f571ea05d9.find().limit(100)

任何帮助?我真的想重命名这个系列!

编辑(正在进行的样本):

> show dbs
admin          (empty)
haymon_boxing  0.078GB
local          0.078GB
> use haymon_boxing
switched to db haymon_boxing
> show collections
fea5dc60-b898-11e4-ac68-a5f571ea05d9
system.indexes
> db.fea5dc60-b898-11e4-ac68-a5f571ea05d9.find().limit(100)
2015-03-02T13:29:31.818-0800 ReferenceError: b898 is not defined

2 个答案:

答案 0 :(得分:3)

在MongoDB中,集合不应包含某些字符,例如连字符“ - ”或斜杠“/”。该手册就此事说:

  

集合名称应以字母或下划线开头,并且可以   包括数字; $是保留的。可以组织收藏   命名空间;这些是使用点定义的命名的集合组   符号

否则将您的集合包装在[]中,并确保在db ...之后删除任何.

答案 1 :(得分:1)

这是有效的

db["fea5dc60-b898-11e4-ac68-a5f571ea05d9"].find()