嗨,我是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
答案 0 :(得分:3)
在MongoDB中,集合不应包含某些字符,例如连字符“ - ”或斜杠“/”。该手册就此事说:
集合名称应以字母或下划线开头,并且可以 包括数字; $是保留的。可以组织收藏 命名空间;这些是使用点定义的命名的集合组 符号
否则将您的集合包装在[]
中,并确保在db ...之后删除任何.
答案 1 :(得分:1)
这是有效的
db["fea5dc60-b898-11e4-ac68-a5f571ea05d9"].find()