2015-03-02 76 views
2

嗨,我是新来的MongoDB,我遇到了一些我很确定应该工作的命令的麻烦。收藏夹没有定义

现在该集合不幸名为“fea5dc60-b898-11e4-ac68-a5f571ea05d9”。所以我显然想重新命名它。但不管我用什么命令,它都会说“b898没有定义”。我有一种感觉,因为名称中的破折号导致了混淆。

我试过所有这些,我不断收到错误。我知道这些命令工作,因为我安装MongoVUE这说明了什么命令,它的using..and我直接复制并粘贴该命令将直接控制台:

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

任何帮助吗?我真的想重新命名这个集合!

EDIT(这是怎么回事的样品):

> 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 

回答

3

在MongoDB中,不应该藏品包括某些字符,如,例如,一个连字符“ - “或斜线”/“。手册中有这样一段对此事说:

集合名称应以字母或下划线开头,可以 包括数字; $是保留的。可以在 名称空间中组织集合;这些都是使用点号 表示法定义的集合的命名组。

否则换您的收藏[]并确保消除任何.分贝后...

+0

不幸的是这是给我的,我们正在使用的公司之一的集合,所以我在这件事上没有选择。感谢您的输入! – user1189352 2015-03-02 21:33:47

+0

对于那些阅读..我想指出的是“。”在“db”被带走后,你必须把它放在双引号中..就像我的回答在 – user1189352 2015-03-03 17:42:53

+1

以下你是对的,我没有把它放进去,但真正的答案是括号。我更新了答案,但要包含这一点。谢谢! – Codexer 2015-03-03 17:44:36

1

这个作品

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