在MongoDB中,可以使用$group
操作符和$addToSet
操作符来根据两个字段进行去重。
假设我们有一个名为collection
的集合,其中包含两个字段field1
和field2
。我们可以使用以下聚合管道操作来根据这两个字段进行去重:
db.collection.aggregate([
{
$group: {
_id: { field1: "$field1", field2: "$field2" },
uniqueIds: { $addToSet: "$_id" }
}
},
{
$project: {
_id: 0,
field1: "$_id.field1",
field2: "$_id.field2"
}
}
])
这个聚合管道操作会首先根据field1
和field2
将文档分组,然后使用$addToSet
操作符将每个分组中的唯一_id
添加到uniqueIds
数组中。
最后,使用$project
操作符将_id
字段移除,然后将_id.field1
和_id.field2
重新命名为field1
和field2
。
这样就可以得到根据两个字段去重后的结果。