当名称包含' - '时,无法从shell访问MongoDB集合。

时间:2015-05-15 05:53:32

标签: mongodb mongodb-shell

我的MongoDB 2.6.9中有一个名为GoldenGlobes-emotion的集合 我发现我无法从MongoDB shell访问此集合 我什么时候尝试访问该集合,例如

db.GoldenGlobes-emotion.findOne()

我总是这样:

ReferenceError: emotion is not defined

但是当我使用PyMongo访问Python的集合形式时,它运行良好。 这是一个shell bug吗? 或者' - '是一个保留字符?

1 个答案:

答案 0 :(得分:5)

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

MongoDB shell是一个Javascript解释器。 Javascript不允许变量名中的连字符,因为它将它们解释为减号运算符。但是,您也可以使用array-syntax访问具有字符串文字的对象字段。在这种情况下,此限制不适用。