Переменные в интерактивной оболочке, mongodb - PullRequest
1 голос
/ 09 октября 2011

У меня есть веб-приложение, которое принимает параметры и затем создает коллекцию в mongodb.В настоящее время я провожу некоторое тестирование и использую интерактивную оболочку, чтобы определить правильность чтения и записи.Если я использую какой-то персонаж, все работает правильно.Когда я использую что-то с - или числами, я получаю ошибку.Например:

> db.getCollectionNames();
[ "1", "2", "deviceslist", "system.indexes" ]
> db.1.find()
Sun Oct  9 22:58:22 SyntaxError: missing ; before statement (shell):1
>

Есть что-то, чего мне не хватает или mongodb просто не принимает эти вещи ??.find () db. "1" .find ()

и, похоже, ни один из них не работает.

Помогите, пожалуйста ..

Ответы [ 2 ]

3 голосов
/ 09 октября 2011

Вы должны иметь доступ к коллекции следующим образом:

db[1].find(); 

или

db['1'].find();

, но я не знаю, есть ли какие-либо негативные побочные эффектыкогда вы называете коллекцию вот так.

0 голосов
/ 16 февраля 2012

Нет ничего принципиального в том, чтобы давать коллекции числовое имя, за исключением того, что при синтаксическом анализе JavaScript вам потребуется использовать скобочную нотацию в соответствии с предложенным ответом Харальда.

db.one.find () // без проблем

db ['1']. Find () // не может набрать db.1.find (), синтаксический анализ JavaScript не примет его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...