gpt4 book ai didi

arrays - 如何在数组中搜索另一个数组中存在的值并将找到的值的索引输出到 [mongodb] 中的新数组中

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

我在每个文档中都有一个集合是一个数组字段,我想在其中搜索另一个数组中出现的元素,并将找到的元素的索引输出为数组。

例如:

我有一个带有 foo 字段的文档,

{
foo = [1,4,3,6,6],
foo = [1,5,7,5,8],
foo = [2,4,3,1,6],
foo = [1,4,9,6,7]
}

和一个包含要搜索的元素的数组

bar = [3,6]

我想要的输出是

{output = [2,3]}
{output = [-1,-1]}
{output = [2,4]}
{output = [-1,3]}

我尝试过将聚合管道和映射函数与 $indexOfArray 结合使用,但似乎无法正常工作。

最佳答案

您可以使用$map 表达式。

db.collection.aggregate([
{"$project":{
"output":{
"$map":{
"input":[3,6],
"in":{"$indexOfArray":["$foo","$$this"]}
}
}
}}
])

关于arrays - 如何在数组中搜索另一个数组中存在的值并将找到的值的索引输出到 [mongodb] 中的新数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52288975/

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