gpt4 book ai didi

mongodb - 如何在使用 MongoDB 聚合框架展开数组后投影数组索引

转载 作者:IT老高 更新时间:2023-10-28 13:19:00 24 4
gpt4 key购买 nike

是否可以在使用 MongoDB 聚合管道展开数组 (http://docs.mongodb.org/manual/reference/operator/aggregation/unwind/#pipe._S_unwind) 时访问数组索引?

例如,假设我在集合“c”中展开此文档:

{_id: 1, elements: ["a", "b", "c"]}

那么这个操作:

db.c.aggregate([
{$unwind: "$elements"}
])

将为文档返回一个光标:

[
{_id: 1, elements: "a"},
{_id: 1, elements: "b"},
{_id: 1, elements: "c"}
]

我希望能够在展开之前找出原始数组中“a”的索引为 0,“b”的索引为 1,而“c”的索引为“2”。

如何在展开操作中投影数组索引?

最佳答案

新发布的 MongoDB 3.2 支持数组索引的展开。

您可以传递一个带有 path 字段和 includeArrayIndex 字段的对象,而不是通过 $unwind 运算符传递路径数组索引。

来自 MongoDB official documentation :

{
$unwind:
{
path: <field path>,
includeArrayIndex: <string>,
preserveNullAndEmptyArrays: <boolean>
}
}

关于mongodb - 如何在使用 MongoDB 聚合框架展开数组后投影数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27663517/

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