使用数据库API提供的where
方法可以构造复杂的查询条件,完成复杂的查询任务
假设要查询价格大于20元的课程,那么传入对象表示全等匹配的方式就无法满足了,这时需要用到查询指令
数据库API提供了大于、小于等多种查询指令,这些指令都暴露在db.command
对象上
例如,查询价格大于20元的课程,代码如示例5-2所示。
Page({
onLoad: function (options) {
const db = wx.cloud.database()
const _ = db.command;
db.collection('courses').where({
price: _.gt(20)
})
.get({
success(res) {
console.log(res.data)
}
})
}
})
gt方法
用于指定一个“大于”条件,此处_.gt(20)
是一个“大于20”的条件
API提供的查询指令如表5.1所示。
除此之外,还有逻辑指令and和or,用来指定一个字段需同时满足多个条件,如用and逻辑指令查询价格在20~30元的课程,代码如下
db.collection('courses').where({
progress: _.gt(20).and(_.lt(30))
})
.get({
success(res) {
console.log(res.data)
}
})
and方法用于指定一个“与”条件,此处表示需同时满足大于20元和小于30元两个条件