gpt4 book ai didi

mongodb - 如何从数组中删除重复的条目?

转载 作者:IT老高 更新时间:2023-10-28 13:06:11 25 4
gpt4 key购买 nike

在以下示例中,“C++ 中的算法” 出现了两次。

$unset 修饰符可以删除特定字段,但如何从字段中删除条目?

{
"_id" : ObjectId("4f6cd3c47156522f4f45b26f"),
"favorites" : {
"books" : [
"Algorithms in C++",
"The Art of Computer Programming",
"Graph Theory",
"Algorithms in C++"
]
},
"name" : "robert"
}

最佳答案

从 MongoDB 2.2 开始,您可以使用 aggregation framework使用 $unwind$group$project 阶段来实现:

db.users.aggregate([{$unwind: '$favorites.books'},
{$group: {_id: '$_id',
books: {$addToSet: '$favorites.books'},
name: {$first: '$name'}}},
{$project: {'favorites.books': '$books', name: '$name'}}
])

注意 $project 需要重命名 favorites 字段,因为 $group 聚合字段不能嵌套。

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

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