📜  MongoDB $arrayElemAt 运算符

📅  最后修改于: 2022-05-13 01:56:58.379000             🧑  作者: Mango

MongoDB $arrayElemAt 运算符

MongoDB中提供了不同类型的在聚合流水线阶段使用$ arrayElemAt运算符就是其中之一rray表达式运算符运算符用于返回存在于给定数组的指定索引上的元素。

句法:

{ $arrayElemAt: [ ,  ] }

这里,数组在解析为数组之前必须是有效的表达式,indx在解析为整数之前必须是有效的表达式

  • 如果indx 的值为正,则此运算符将返回从数组开头开始indx位置的元素
  • 如果indx 的值为负,则此运算符将从数组末尾返回indx位置处的元素
  • 如果indx超出数组边界,则此运算符不返回任何结果。

例子:

在以下示例中,我们正在使用:



使用$arrayElemAt运算符:

在本例中,我们将使用$arrayElemAt运算符在指定索引上查找数组的元素(即fruits 字段的值)。

db.arrayExample.aggregate([
... {$match: {name: "Bongo"}},
... {$project: {
... firstItem: {$arrayElemAt: ["$fruits", 0]},
... lastItem: {$arrayElemAt: ["$fruits", -1]}}}])

在嵌入式文档中使用$arrayElemAt运算符:

在此示例中,我们将使用$arrayElemAt运算符在指定索引上查找数组的元素(即 favGame.outdoorGames 字段的值)。

db.arrayExample.aggregate([
... {$match: {name: "Piku"}},
... {$project: {
... firstItem: {$arrayElemAt: ["$favGame.outdoorGames", 0]},
... item: {$arrayElemAt: ["$favGame.outdoorGames", 2]}}}])