Невозможно получить доступ к коллекции 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 не допускает дефисы в именах переменных, потому что он интерпретирует их как минус-оператор. Тем не менее, вы можете также получить доступ к объектно-поля с строковых литералов, используя массив-синтаксис. В этом случае, это ограничение не распространяется.