【问题标题】:MongoDB: How to query a collection named "version"MongoDB:如何查询名为“版本”的集合
【发布时间】:2014-09-04 07:43:52
【问题描述】:

我正在使用一个 mongo 数据库,其中包含一个名为“version”的集合。现在看来“db.version()”本身就是一个保留函数,集合名称被它隐藏了。

使用 Mongo Java 驱动程序可以从集合中检索数据,我如何使用 CLI 来实现?

【问题讨论】:

    标签: javascript mongodb mongodb-query mongodb-shell


    【解决方案1】:

    你可以这样做:

    db.getCollection("version").find()
    

    最后一种形式与您在 Java 驱动程序中或实际上在动态绑定不可用的许多语言实现中所做的基本相同。

    这同样适用于在 shell 中不允许使用名称的任何其他形式,例如:

    db.getCollection("example@example.com").find()
    

    实际上,shell 内部发生的所有事情就是调用了这个官方方法。

    【讨论】:

    • db["version"].find() 不起作用,同样的错误消息:“TypeError: Object function (){ return this.serverBuildInfo().version; } has no method 'find '”,但 db.getCollection() 可以。谢谢!
    • @dnno "version" 似乎是这里的例外。不过,您通常可以对其他集合名称使用相同的语法。
    猜你喜欢
    • 2014-09-14
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 2016-09-27
    相关资源
    最近更新 更多