我正在尝试在给定某个元素的位置(示例中为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',...
您可以像这样使用$slice和$indexOfArray聚合运算符: