在MongoDB中,可以使用聚合管道来按照多个字段对文档进行分组,并获取一个字段的唯一计数。下面是一个示例代码:
db.collection.aggregate([
{
$group: {
_id: {
field1: "$field1",
field2: "$field2",
field3: "$field3"
},
count: {
$addToSet: "$field4"
}
}
},
{
$project: {
_id: 0,
field1: "$_id.field1",
field2: "$_id.field2",
field3: "$_id.field3",
uniqueCount: {
$size: "$count"
}
}
}
])
上述代码中的db.collection
需要替换为你要操作的集合名称。这个聚合管道将按照field1
、field2
和field3
三个字段对文档进行分组,并使用$addToSet
操作符将field4
字段的值添加到一个集合中,以去除重复值。然后使用$project
操作符将结果字段重命名,并使用$size
操作符获取唯一计数。
请注意,以上代码只是一个示例,你需要根据实际情况修改字段名称和集合名称。
下一篇:按照三列进行分区并找到最大值。