Command.all(values: any[]): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

数组查询操作符。用于数组字段的查询筛选条件,要求数组字段中包含给定数组的所有元素。

参数

values: any[]

返回值

Command

示例代码 1:普通数组

找出 tags 数组字段同时包含 cloud 和 database 的记录

const _ = db.command
db.collection('todos').where({
  tags: _.all(['cloud', 'database'])
})
.get({
  success: console.log,
  fail: console.error
})

示例代码 2:对象数组

如果数组元素是对象,则可以用 _.elemMatch 匹配对象的部分字段

假设有字段 places 定义如下:

{
  "type": string
  "area": number
  "age": number
}

找出数组字段中至少同时包含一个满足 “area 大于 100 且 age 小于 2” 的元素和一个满足 “type 为 mall 且 age 大于 5” 的元素

const _ = db.command
db.collection('todos').where({
  places: _.all([
    _.elemMatch({
      area: _.gt(100),
      age: _.lt(2),
    }),
    _.elemMatch({
      name: 'mall',
      age: _.gt(5),
    }),
  ]),
})
.get({
  success: console.log,
  fail: console.error,
})