gpt4 book ai didi

mongodb - 如何通过mongodb中的两个键删除重复条目?

转载 作者:可可西里 更新时间:2023-11-01 10:14:15 29 4
gpt4 key购买 nike

我有这个收藏

enter image description here

我会根据 X 和 y 删除重复数据,当它们是相同的值时,所以在这种情况下(需要在 z=3 和 z =4 时删除)

我用

db.collection.aggregate([{"$sort":{ "_id": 1 }},{"$group":{"_id":"$x","doc":{"$first":"$$ROOT"}}},{"$replaceRoot":{"newRoot":"$doc"}},{"$out":"collection"}])

但它与一个键x一起使用

Json View

{
"_id" : ObjectId("59d9e7b4ad433ce84a235e93"),
"x" : NumberInt(1),
"y" : NumberInt(1),
"z" : NumberInt(1)
}
{
"_id" : ObjectId("59d9e7d0ad433ce84a235e95"),
"x" : NumberInt(1),
"z" : NumberInt(2),
"y" : NumberInt(2)
}
{
"_id" : ObjectId("59d9e7d2ad433ce84a235e97"),
"z" : NumberInt(3),
"x" : NumberInt(2),
"y" : NumberInt(3)
}
{
"_id" : ObjectId("59d9e7d4ad433ce84a235e99"),
"z" : NumberInt(4),
"x" : NumberInt(2),
"y" : NumberInt(3)
}
{
"_id" : ObjectId("59d9e7d7ad433ce84a235e9b"),
"x" : NumberInt(3),
"y" : NumberInt(4),
"z" : NumberInt(5)
}

最佳答案

您可以使用多个参数分组。试试这段代码,它将有助于删除具有多个键值的重复项

db.collection.aggregate([{ "$sort": { "_id": 1 } },
{
"$group": {
"_id": { "x": "$x", "y": "$y" },
"doc": { "$first": "$$ROOT" }
}
},
{ "$replaceRoot": { "newRoot": "$doc" } },
{ "$out": "collection" }]);

关于mongodb - 如何通过mongodb中的两个键删除重复条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46629725/

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