MongoDB - distinct and count,最简单的情况

MongoDB - distinct and count, the simplest case

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

这是一个示例记录:

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

}

我想检索字段 "mvid" 的所有不同值并计算它们。 这是在网上找到的:

db.YYY.aggregate([{ $group: { _id: "$mvid"}  },{ $group: { _id: 1, count: { $sum: 1 } } }])

我也试过了

XXX.YYY.aggregate([{ $group: { _id: "$mvid"}  },{ $group: { _id: 1, count: { $sum: 1 } } }])

我将以上内容放入命令文本框中,在这两种情况下我都收到以下错误消息:"We encountered an error while parsing your JSON. Please check your syntax (e.g. ensure you are using double quotes around both your field names and values) and try again."

我做错了什么?

查找每个 mvid 的计数:

db.YYY.aggregate([{$group: {_id: "$mvid", count: {$sum: 1}}}])

查找不同 mvid 的计数:

db.YYY.aggregate([{$group: {_id: "$mvid", count: {$sum: 1}}}, {$group: {_id: null, count: {$sum: 1}}}, {$project: {_id: 0, count: 1}}])

该命令文本框用于向在下拉列表中选择的任何命令提供 JSON 格式的参数。 aggregate 不是列出的命令之一,因此您似乎需要在本地安装 MongoDB shell 然后远程连接到您的 MongoLab 数据库和 运行命令。

有关安装 MongoDB shell 和连接到 MongoLab 的详细信息,请参阅 this blog post