【问题标题】:MongoDB distinct query on MongoLabMongoLab上的MongoDB不同查询
【发布时间】:2015-08-15 15:35:47
【问题描述】:

我在 MongoDB 中有数据库 XXX 和集合 YYY(使用 MongoLab)。

这是一个示例记录:

{
 "_id": {
    "$oid": "551a5asdfsdfsdfs"
 },
 "_class": "com.test.com",
 "mvid": "d0fffsdfs"

}

我想检索字段“mvid”的所有不同值。这是我在搜索框中写的内容

XXX.YYY.distinct("mvid")

我得到以下错误:

“我们在解析您的 JSON 时遇到错误。请检查您的语法(例如,确保您在字段名称和值周围使用双引号),然后重试。”

我做错了什么?

【问题讨论】:

  • 你提到的搜索框是你申请的一部分吗?
  • 我觉得你应该试试这个db.YYY.distinct("mvid")
  • @yogesh,谢谢,这正是帮助页面所建议的,但它不起作用。
  • @JohnnyHK,谢谢,MongoLab 就像 MongoDB 的基于网络的工作室。搜索框是 MongoLab 页面上的一个文本框区域,允许您输入查询。抱歉,我是 MongoLab 和 MongoDB 的新手
  • @user1700890 从我在 MongoLab 网站上看到的屏幕截图中,您只能使用该搜索框输入查询对象,而不是像您尝试执行的 shell 命令。

标签: json mongodb distinct mlab


【解决方案1】:

MongoLab 上的查询框用于输入 JSON find 查询对象,例如:

{ "_class": "com.test.com" }

要运行 find 以外的命令,就像您尝试使用 distinct 命令一样,您需要使用 MongoDB shell 或(如果直接支持该命令)在 MongoLab 的 Tools / Commands 下选择命令用户界面。

【讨论】:

    【解决方案2】:

    我试图做类似的事情,但接受的答案实际上并不正确。

    您实际上可以通过 mLab 数据 API 直接运行以下数据库和集合级别的命令。您只需按照页面末尾https://docs.mlab.com/data-api/的文档通过 POST 发送命令

    只要语法正确,您还可以在查询中额外使用 $exists 等命令。

    这比大多数人(包括我自己)在阅读这些主题时意识到的要强大得多。

    可用命令:

    -getLastError -getPrevError -平 -轮廓 -修复数据库 -resetError -whatsmyuri -总计的 -convertToCapped -清楚的 -findAndModify -geoNear -reIndex -collStats -dbStats

    【讨论】:

      猜你喜欢
      • 2013-07-11
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      • 1970-01-01
      • 2015-12-03
      • 2014-07-29
      相关资源
      最近更新 更多