如何在MongoDB中给定元素位置的情况下提取数组的切片?

问题描述 投票:0回答:1

我正在尝试在给定某个元素的位置(示例中为action4)的情况下在MongoDB中提取数组的一部分。样本数据是

[{name: 'John Doe', actions: ['action1', 'action2', 'action3', 'action4']},
{name: 'Margie Addams', actions: ['action1', 'action2', 'action4', 'action3']},
{name: 'Fer Doughnut', actions: ['action1', 'action4', 'action3', 'action2']},
{name: 'Anthony Peralta', actions: ['action1', 'action2', 'action3', 'action4']},
{name: 'Pete Parker', actions: ['action1', 'action2', 'action3', 'action4']},
{name: 'Josh Dean', actions: ['action4', 'action2', 'action3', 'action1']}]

我设法通过诸如聚集查询之类的方法在数组中找到action4的位置>

{$indexOfArray: ["$actions", "action4"]}

但找不到从数组开头提取到其位置的方法。有什么建议吗?

我正在尝试在给定某个元素的位置(示例中为action4)的情况下在MongoDB中提取数组的一部分。样本数据为[{name:'John Doe',actions:['action1','action2','action3',...

arrays mongodb slice
1个回答
0
投票

您可以像这样使用$slice$indexOfArray聚合运算符:

© www.soinside.com 2019 - 2024. All rights reserved.