AggregateCommand.setIsSubset(value: Expression[]): Object

支持端:小程序 2.7.4, 云函数 0.8.1, Web

聚合操作符,输入两个集合,判断第一个集合是否是第二个集合的子集。

参数

value: Expression[]

[<expression1>, <expression2>]

返回值

Object

API 说明

使用形式如下:

  1. setIsSubset([<expression1>, <expression2>])

示例代码

假设集合 test 存在以下数据:

  1. { "_id": 1, "A": [ 1, 2 ], "B": [ 1, 2 ] }
  2. { "_id": 2, "A": [ 1, 2 ], "B": [ 2, 1, 2 ] }
  3. { "_id": 3, "A": [ 1, 2 ], "B": [ 1, 2, 3 ] }
  4. { "_id": 4, "A": [ 1, 2 ], "B": [ 3, 1 ] }
  5. { "_id": 5, "A": [ 1, 2 ], "B": [ ] }
  6. { "_id": 6, "A": [ 1, 2 ], "B": [ {}, [] ] }
  7. { "_id": 7, "A": [ ], "B": [ ] }
  8. { "_id": 8, "A": [ ], "B": [ 1 ] }

下面的代码使用 setIsSubset,判断第一个集合是否是第二个集合的子集:

  1. db.collection('test')
  2. .aggregate()
  3. .project({
  4. AisSubsetOfB: $.setIsSubset(['$A', '$B'])
  5. })
  6. .end()
  1. { "_id": 1, "AisSubsetOfB": true }
  2. { "_id": 2, "AisSubsetOfB": true }
  3. { "_id": 3, "AisSubsetOfB": true }
  4. { "_id": 4, "AisSubsetOfB": false }
  5. { "_id": 5, "AisSubsetOfB": false }
  6. { "_id": 6, "AisSubsetOfB": false }
  7. { "_id": 7, "AisSubsetOfB": true }
  8. { "_id": 8, "AisSubsetOfB": true }