【发布时间】:2021-02-05 07:10:46
【问题描述】:
我有一个包含大约 5 万条“公司”记录的数据库。
我想通过匹配找到重复项:
-
name和street字段。
或
-
phone字段
(我认为 #1 和 #2 都是唯一标识符,因此可以使用其中任何一个来查找重复项。)
我可以根据 #1 编写 $group 语句来匹配:
_id: {
name: '$name',
street: 'street'
},
uniqueIds: {
$addToSet: '$_id'
},
count: {
$sum: 1
}
我尝试了这样的方法来匹配其中一个:
_id: {
$or: [
{name: '$name', street: '$street'},
{phone: '$phone}
]
}...
但这只是返回一个布尔值。
如何在同一聚合中通过过滤上述#1 或#2 进行分组?
【问题讨论】:
标签: mongodb aggregation