2011-08-18 13 views
8

Ho scritto uno script che utilizza mongoimport per caricare file csv in mongodb. Quando lo eseguo per due file csv simili (dello stesso tipo) entrambi caricano bene, tuttavia posso accedere ad uno solo dalla shell mongodb. Ecco la trascrizione di una sessione di shell mongodb:Impossibile accedere alla raccolta dalla shell: SyntaxError: missing; prima statement (shell): 1

> show collections 
3mLgQAYJCq6_20110802 
eTByWMY7zO6_20110802NonUniCode 
system.indexes 
> db.3mLgQAYJCq6_20110802 
Thu Aug 18 18:44:49 SyntaxError: missing ; before statement (shell):1 
> db.eTByWMY7zO6_20110802NonUniCode 
vh.eTByWMY7zO6_20110802NonUniCode 

Tuttavia, posso accedere entrambe le collezioni da uno script python ed utilizzando mongoexport. Sospetto che ci sia un problema con il file 3mLgQAYJCq6_20110802 ma non so da dove cominciare a cercare. Qualche idea?

risposta

-1

bei nomi di raccolte ... è probabilmente perché inizia con un 3.

3

Il nome della raccolta dovrebbe iniziare con una lettera o l'underscore.You può ottenere le informazioni circa la convenzione di denominazione per le collezioni di mongodb dal basso link- http://www.mongodb.org/display/DOCS/Collections

9

Questo funziona per me quando i miei nomi di raccolta includono speciale caratteri:

db["3mLgQAYJCq6_20110802"].findOne(); 
+0

findOne() restituisce null, ma altri metodi funzionano perfettamente. find(), drop(), remove() ecc. Clue is db ["3mLgQAYJCq6_20110802"] – Saint

+0

+1 Questo ha funzionato per me. Avevo underscore e un trattino nel nome della mia collezione. –

Problemi correlati