当名称包含“-”时,无法从 shell 访问 MongoDB collection

Unable to access MongoDB collection from shell when the name contains '-'

我的 MongoDB 2.6.9 中有一个名为 GoldenGlobes-emotion 的 collection 我发现我无法从 MongoDB shell 访问此 collection 每当我尝试访问 collection 时,例如

db.GoldenGlobes-emotion.findOne()

我总是得到这个:

ReferenceError: emotion is not defined

但是当我使用 PyMongo 访问 collection 表单 Python 时它运行良好。 这是 shell 错误吗? 或者'-'是保留字符?

尝试db["GoldenGlobes-emotion"].findOne()

MongoDB shell 是 Javascript 口译员。 Javascript 不允许在变量名中使用连字符,因为它将它们解释为减号运算符。但是,您也可以使用数组语法访问带有字符串文字的对象字段。在这种情况下,此限制不适用。