📜  MongoDB $reverseArray 运算符

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

MongoDB $reverseArray 运算符

MongoDB中提供了不同类型的在聚合流水线阶段使用$ reverseArray运算符就是其中之一rray表达式运算符运算符用于反转指定数组元素的顺序。或者换句话说,此运算符将数组作为参数并以相反的顺序返回包含项目的数组

句法:

{ $reverseArray:  }

在这里,给定的参数必须是一个有效的表达式,直到它解析为一个数组。

  • 如果参数未解析为数组或 null,则此运算符将给出错误。
  • 如果输入的参数解析为空值,则此运算符将返回空值。
  • 如果输入的参数引用了缺失的字段,则此运算符将返回 null。
  • 如果输入的参数是空数组,则此运算符将返回一个空数组。
  • 如果输入的参数包含子阵,那么这个运算符的作用顶层数组元素,并不会扭转子阵列的内容。

例子:

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



使用 $reverseArray 运算符:

在这个例子中,我们将使用 $reverseArray 运算符反转numbers2 字段的。这里, numbers2 字段的值是一个数组,数组的元素是数字。

db.arrayExample.aggregate([
... {$match: {name: "Lolo"}},
... {$project: {
... revNumbers: {$reverseArray: "$numbers2"}}}])

在这个例子中,我们将使用 $reverseArray 运算符反转fruits 字段的。这里,fruits 字段的值是一个数组,数组的元素是字符串(即水果名称)。

db.arrayExample.aggregate([
... {$match: {name: "Bongo"}},
... {$project: {
... revStrings: {$reverseArray: "$fruits"}}}])

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

在这个例子中,我们将使用 $reverseArray 运算符反转favGame.outdoorGames 字段的。这里,favGame.outdoorGames 字段的值是一个数组,该数组的元素是字符串(即户外游戏名称)。

db.arrayExample.aggregate([
... {$match: {name: "Piku"}},
... {$project: {
... result: {$reverseArray: "$favGame.outdoorGames"}}}])