2015-03-02 50 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()