温馨提示×

mongodb怎么根据两个字段去重

小亿
145
2023-09-11 17:24:45
栏目: 云计算

在MongoDB中,可以使用$group操作符和$addToSet操作符来根据两个字段进行去重。

假设我们有一个名为collection的集合,其中包含两个字段field1field2。我们可以使用以下聚合管道操作来根据这两个字段进行去重:

db.collection.aggregate([
{
$group: {
_id: { field1: "$field1", field2: "$field2" },
uniqueIds: { $addToSet: "$_id" }
}
},
{
$project: {
_id: 0,
field1: "$_id.field1",
field2: "$_id.field2"
}
}
])

这个聚合管道操作会首先根据field1field2将文档分组,然后使用$addToSet操作符将每个分组中的唯一_id添加到uniqueIds数组中。

最后,使用$project操作符将_id字段移除,然后将_id.field1_id.field2重新命名为field1field2

这样就可以得到根据两个字段去重后的结果。

0