在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操作符获取唯一计数。
请注意,以上代码只是一个示例,你需要根据实际情况修改字段名称和集合名称。
下一篇:按照三列进行分区并找到最大值。