查
let keywords = '李'
// 调用云函数根据正则表达式查询数据库
let data = await uniCloud.callFunction({
// 调用的云函数名称
name: 'getdb',
// 传参
data: {
keywords
}
})
console.log(data)
// 创建数据库对象
const db = uniCloud.database()
// 创建表对象
const user = db.collection('user')
exports.main = async (event, context) => {
// 接收关键字数据
let {keywords} = event
// 通过正则表达式条件查询数据库
let data = user.where({
// 如果在正则表达式中使用变量,就不能使用字面量方式定义正则表达式了,需要使用构造函数的方式去定义正则表达式
name: new RegExp(keywords) // 小括号中第一个参数,代表两个斜杠中间的内容,第二个参数是模式修正符
}).get()
return data
}
分页
let data = await uniCloud.callFunction({
// 调用的云函数名称
name: 'getdb',
// 传参
data: {
pagesize: 2,
pagenum: 3
}
})
console.log(data)
分页查询
const db = uniCloud.database();
const user=db.collection('user')
let {pagesize, pagenum} = event
skip表示跳过几条数据向后查询,相当于mysql中limit的第一个参数
limit表示最终要查询几条数据,相当于mysql中limit的第二个参数
return user.skip((pagenum - 1) * pagesize).limit(pagesize).get()
排序
let data = await uniCloud.callFunction({
// 调用的云函数名称
name: 'getdb',
// 传参
data: {
// 按照哪个字段进行排序
field: 'age',
// 升序降序
orderType: 'desc'
}
})
console.log(data)
排序查询
const db = uniCloud.database();
const user = db.collection('user')
let {field,orderType} = event
return user.orderBy(field, orderType).get()
数量查询
let data = await uniCloud.callFunction({
// 调用的云函数名称
name: 'getdb'
})
console.log(data)
return user.where({
name: /三/
}).count()