Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't access collection from the shell - SyntaxError: missing ; before statement (shell):1

Tags:

mongodb

I wrote a script that uses mongoimport to load csv files into mongodb. When I run this for two similar csv files (of the same type) both upload fine, however I can only access one of them from the mongodb shell. Here is a transcript of a mongodb shell session:

> 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

However, I can access both collections from a python script and using mongoexport. I suspect there is a problem with the 3mLgQAYJCq6_20110802 file but I don't know where to start looking. Any ideas?

like image 445
DavidA Avatar asked Aug 18 '11 17:08

DavidA


2 Answers

This works for me when my collection names include special characters:

db["3mLgQAYJCq6_20110802"].findOne();
like image 123
code_monk Avatar answered Oct 25 '22 22:10

code_monk


The collection name should start with a letter or the underscore.You can get the info about the naming convention for the collections in mongodb from below link- http://www.mongodb.org/display/DOCS/Collections

like image 32
azhar_salati Avatar answered Oct 25 '22 23:10

azhar_salati