gpt4 book ai didi

mongodb - 选择 2 个字段并返回具有不同值的排序数组

转载 作者:IT老高 更新时间:2023-10-28 13:37:53 26 4
gpt4 key购买 nike

假设我们有以下文档:

{a: 1, b: 2},
{a: 2, b: 0},
{a: 3, b: 1}

我想要一个返回的查询:

[0, 1, 2, 3]

我想知道是否有比以下更快的方法来做到这一点:

  • 只需进行 2 个查询,一个选择 a,另一个选择 b 然后合并到我的应用程序中。
  • 使用 map reduce(与之前的方法相比,速度非常慢)

最佳答案

您需要 $group我们的文件并使用$push累加器运算符返回集合中的“a”和“b”数组。

$project您使用 $setUnion 的运算符运算符来过滤掉重复项。

db.coll.aggregate(
[
{ "$group": {
"_id": null,
"a": { "$push": "$a" },
"b": { "$push": "$b" }
}},
{ "$project": {
"_id": 0,
"merged": { "$setUnion": [ "$a", "$b" ] }
}}
]
)

产生:

{ "merged" : [ 3, 2, 0, 1 ] }

关于mongodb - 选择 2 个字段并返回具有不同值的排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37883879/

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