我收藏很多,我试图按所有文档的键分组,以便我可以检测到相似的文档。 这些文档可以具有不同的密钥或相似的密钥。 有什么可以按所有字段分组的吗?
答案 0 :(得分:0)
您可以使用$$ROOT
来引用整个文档:
样品收集:
db.getCollection('sample').insert({"x":"1","y":"2","z":"3"})
db.getCollection('sample').insert({"x":"1","y":"2","z":"3"})
db.getCollection('sample').insert({"x":"1","y":"2","z":"3","t":"4"})
db.getCollection('sample').insert({"x":"4","y":"5","z":"6","t":"7"})
查询:
db.sample.aggregate([
{$project: {_id: 0}}, // remove the _id field
{$group: {_id: '$$ROOT', count: {$sum: 1}}}, // group by the entire document
{$match: {count: {$gte: 2}}} // get all duplicates
])