mongodb怎样根据两个字段去重
在MongoDB中,可使用`$group`操作符和`$addToSet`操作符来根据两个字段进行去重。
假定我们有一个名为`collection`的集合,其中包括两个字段`field1`和`field2`。我们可使用以下聚合管道操作来根据这两个字段进行去重:
```javascript
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`。
这样就能够得到根据两个字段去重后的结果。
TOP