MongoDB $reverseArray 运算符
MongoDB中提供了不同类型的在聚合流水线阶段使用和$ reverseArray运算符就是其中之一rray表达式运算符。此运算符用于反转指定数组元素的顺序。或者换句话说,此运算符将数组作为参数并以相反的顺序返回包含项目的数组。
句法:
{ $reverseArray: }
在这里,给定的参数必须是一个有效的表达式,直到它解析为一个数组。
- 如果参数未解析为数组或 null,则此运算符将给出错误。
- 如果输入的参数解析为空值,则此运算符将返回空值。
- 如果输入的参数引用了缺失的字段,则此运算符将返回 null。
- 如果输入的参数是空数组,则此运算符将返回一个空数组。
- 如果输入的参数包含子阵,那么这个运算符的作用顶层数组元素,并不会扭转子阵列的内容。
例子:
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: arrayExample
Document: three documents that contain the details in the form of field-value pairs.
使用 $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"}}}])