Command.and(expressions: any[]): Command
查询操作符,用于表示逻辑 "与" 的关系,表示需同时满足多个查询筛选条件
Command
有两种使用情况:
1. 用在根查询条件
但以上用 and
组成的查询条件是不必要的,因为传入的对象的各字段隐式组成了 “与” 的关系,上述条件等价于下方更简洁的写法:
const _ = db.command
db.collection('todo').where({
progress: _.gt(50),
tags: 'cloud'
通常需要显示使用 and
是用在有跨字段或操作的时候,如以下表示 “progress 字段大于 50 或 tags 字段等于 cloud 或 tags 数组字段(如果 tags 是数组)中含有 cloud”:
2. 用在字段查询条件
如以下用前置写法的方式表示 "progress 字段值大于 50 且小于 100"
db.collection('todo').where({
progress: _.and(_.gt(50), _.lt(100))
})
还可以用后置写法的方式表示同样的条件:
const _ = db.command
db.collection('todo').where({
progress: _.gt(50).lt(100)
方法接收两种传参方式,一是传入一个数组参数,二是传入多个参数,效果一样。