Невозможно получить доступ к коллекции MongoDB из оболочки, когда имя содержит '-'

У меня есть коллекция с именем GoldenGlobes-emotion в моем MongoDB 2.6.9. Я обнаружил, что не могу получить доступ к этой коллекции из оболочки MongoDB. Когда я пытаюсь получить доступ к коллекции, например,

db.GoldenGlobes-emotion.findOne()

Я всегда получал это:

ReferenceError: emotion is not defined

Но это хорошо работает, когда я получаю доступ к форме коллекции Python с помощью PyMongo. Это ошибка оболочки? Или '-' является зарезервированным символом?

1 ответ

Решение

Пытаться db["GoldenGlobes-emotion"].findOne(),

Оболочка MongoDB является интерпретатором Javascript. Javascript не допускает дефисы в именах переменных, потому что он интерпретирует их как минус-оператор. Тем не менее, вы можете также получить доступ к объектно-поля с строковых литералов, используя массив-синтаксис. В этом случае, это ограничение не распространяется.

Другие вопросы по тегам