在mongodb中,我有一组人员,其中包含以下架构。我需要编写一个聚合来查找数据库中可能的重复项:
是否有一种直接的方法可以根据上述具有mongodb聚合的情况检查重复项? This question接近我正在寻找的内容,但我需要检查的不仅仅是一个键/值。
{ _id: 'wHwNNKMSL9v3gKEuz',
firstName: 'John',
lastName: 'Doe',
currentCompany: 'John Co',
currentTitle: 'VP Sanitation',
emails:
[ { address: 'Anais.Grant@hotmail.com',
valid: true } ],
urls:
{ linkedIn: 'http://linkedin.com/johnDoe',
twitter: 'http://twitter.com/@john',
}
}
谢谢!
答案 0 :(得分:0)
我们可以实现它正在使用以下内容 $和,$或,$ ne。
注意: - 您需要提供一条记录作为条件的输入,以便将其与其他记录相匹配以消除重复
我已经提供了一个示例查询,它将过滤这两个标准的集合,您可以添加其余条件以获得最终结果
db.yourcollection.find({
$and: [{
$or: [{
firstName: {
$ne: 'John'
}
}, {
lastName: {
$ne: 'Doe'
}
}, {
currentCompany: {
$ne: 'John Co'
}
}]
}, {
$or: [{
"urls.linkedIn": {
$ne: 'http://linkedin.com/Doe'
}
}]
}]
})