在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
。
這樣就可以得到根據兩個字段去重后的結果。