gpt4 book ai didi

javascript - 删除集合中记录的所有重复项 - MongoDB

转载 作者:行者123 更新时间:2023-11-28 17:36:30 24 4
gpt4 key购买 nike

我有一个像这样的 mongoDB 集合(如下)。正如您所看到的,它有许多重复的记录,可能有一些不同的属性。现在我的集合中有超过 18000 个结果,我需要删除其中的所有重复项。我保留哪一个并不重要,我只是不需要受骗。任何人都可以帮助我或为我指出正确的方向吗?

{
commonName: "Lionel Messi",
firstName: "Lionel",
lastName: "Messi",
rating: 97
},{
commonName: "Lionel Messi",
firstName: "Lionel",
lastName: "Messi",
rating: 96
},{
commonName: "Lionel Messi",
firstName: "Lionel",
lastName: "Messi",
rating: 92
},{
commonName: "Jamie Vardy",
firstName: "Jamie",
lastName: "Vardy",
rating: 82
},{
commonName: "Jamie Vardy",
firstName: "Jamie",
lastName: "Vardy",
rating: 86
}

最佳答案

您可以使用aggregate来清理数据,然后使用$out来写入集合,甚至覆盖当前集合:

db.players.aggregate([
{
$group : {
_id : { commonName: "$commonName" },
commonName: {$first: "$commonName"},
firstName: {$first: "$firstName"},
lastName: {$first: "$lastName"},
rating: {$first: "$rating"},
}
},
{ $project : { _id:0, commonName:1, firstName:1, lastName:1, rating:1 } },
{ $out : "players" }
])

注意:如果你想编写一个新的集合,请使用 { $out : "newCollection"}

关于javascript - 删除集合中记录的所有重复项 - MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49030169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com