MongoDB聚合运算符:$setEquals

MongoDB聚合运算符:$setEquals


$setEquals聚合运算符用于比较两个或多个数组,如果它们有相同的不重复的元素,则返回true,否则返回false。

语法

{ $setEquals: [ <expression1>, <expression2>, ... ] }

字段说明:

参数可以是任何可以解析为数组的表达式即可。

使用

$setEquals对数组执行集合操作,将数组视为集合。如果数组包含重复元素,$setEquals会忽略重复元素,并且$setEquals也会忽略元素的顺序。

如果集合包含嵌套数组元素,$setEquals 不会进入嵌套数组,而对顶层对数组进行评估。

举例 结果
{ $setEquals: [ [ "a", "b", "a" ], [ "b", "a" ] ] } true
{ $setEquals: [ [ "a", "b" ], [ [ "a", "b" ] ] ] } false

举例

使用下面的脚本创建bakeryOrders集合:

db.bakeryOrders.insertMany( [
   { _id: 0, cakes: ["chocolate", "vanilla"], cupcakes: ["chocolate", "vanilla"] },
   { _id: 1, cakes: ["chocolate", "vanilla"], cupcakes: ["vanilla", "chocolate"] },
   { _id: 2, cakes: ["chocolate", "chocolate"], cupcakes: ["chocolate"] },
   { _id: 3, cakes: ["vanilla"], cupcakes: ["chocolate"] },
   { _id: 4, cakes: ["vanilla"], cupcakes: [] }
] )

以下操作使用$setEquals运算符来确定每个订单中的cakes数组和 cupcakes数组是否包含相同的口味::

db.bakeryOrders.aggregate(
   [
      {
         $project: {
            _id: 0,
            cakes: 1,
            cupcakes: 1,
            sameFlavors: { $setEquals: [ "$cakes", "$cupcakes" ] }
         }
      }
   ] )

操作返回下面的结果:

{
 cakes: [ "chocolate", "vanilla" ],
 cupcakes: [ "chocolate", "vanilla" ],
 sameFlavors: true
},
{
 cakes: [ "chocolate", "vanilla" ],
 cupcakes: [ "vanilla", "chocolate" ],
 sameFlavors: true
},
{
 cakes: [ "chocolate", "chocolate" ],
 cupcakes: [ "chocolate" ],
 sameFlavors: true
},
{
 cakes: [ "vanilla" ],
 cupcakes: [ "chocolate" ],
 sameFlavors: false
},
{
   cakes: [ "vanilla" ],
   cupcakes: [],
   sameFlavors: false
}

相关推荐

  1. MongoDB聚合运算符:$setEquals

    2024-04-22 08:34:03       35 阅读
  2. MongoDB聚合运算符:$add

    2024-04-22 08:34:03       55 阅读
  3. MongoDB聚合运算符:$arrayToObject

    2024-04-22 08:34:03       53 阅读
  4. MongoDB聚合运算符;$dateToParts

    2024-04-22 08:34:03       53 阅读
  5. MongoDB聚合运算符:$dayOfWeek

    2024-04-22 08:34:03       55 阅读
  6. MongoDB聚合运算符:$dayOfMonth

    2024-04-22 08:34:03       52 阅读
  7. MongoDB聚合运算符;$dateToString

    2024-04-22 08:34:03       48 阅读
  8. MongoDB聚合运算符:$dayOfYear

    2024-04-22 08:34:03       48 阅读
  9. MongoDB聚合运算符:$denseRank

    2024-04-22 08:34:03       42 阅读
  10. MongoDB聚合运算符:$dateTrunc

    2024-04-22 08:34:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 08:34:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 08:34:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 08:34:03       87 阅读
  4. Python语言-面向对象

    2024-04-22 08:34:03       96 阅读

热门阅读

  1. PhpStorm环境配置与应用

    2024-04-22 08:34:03       36 阅读
  2. Vue.js之MVVM设计模式

    2024-04-22 08:34:03       33 阅读
  3. 安卓手机APP开发__媒体开发部分__网络栈

    2024-04-22 08:34:03       38 阅读
  4. C 练习实例25

    2024-04-22 08:34:03       38 阅读
  5. continue语句

    2024-04-22 08:34:03       35 阅读