当使用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在原始数组中。如何在展开操作中投影数组索引?
{ $group: { _id: '$_id', elements: { $push: '$elements' } } }
。如果您能将其作为单独的问题提交(不仅仅是评论),那就太好了,这样我就可以在那里给出完整的答案。 - Maxim Georgievskiy