2011-08-18 13 views
8

Escribí un script que usa mongoimport para cargar archivos csv en mongodb. Cuando ejecuto esto para dos archivos csv similares (del mismo tipo) ambos suben bien, sin embargo, solo puedo acceder a uno de ellos desde el shell mongodb. Aquí es una transcripción de una sesión de consola MongoDB:No se puede acceder a la colección desde el shell - SyntaxError: missing; before 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 

Sin embargo, puedo acceder a las colecciones de un script en Python, y el uso de mongoexport. Sospecho que hay un problema con el archivo 3mLgQAYJCq6_20110802, pero no sé por dónde empezar a buscar. ¿Algunas ideas?

Respuesta

-1

nombres de colecciones encantadoras ... es probablemente porque se inicia con un 3.

3

El nombre de la colección debe comenzar con una letra o el underscore.You puede obtener la información sobre la convención de nomenclatura para las colecciones en mongodb desde abajo enlace- http://www.mongodb.org/display/DOCS/Collections

9

Esto funciona para mí cuando mis nombres de colección incluyen especial caracteres:

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

findOne() me devuelve nulo, pero otros métodos funcionan muy bien. find(), drop(), remove() etc. Clue es db ["3mLgQAYJCq6_20110802"] – Saint

+0

+1 Esto funcionó para mí. Tenía guiones bajos y un guión en el nombre de mi colección. –

Cuestiones relacionadas