一般我们的后端方法需要接收参数进行运算或者查询数据库,运算结束后会将结果进行返回。在低码中是使用自定义连接器来完成后端方法的编制。
单条件查询比较好实现,我们只需要传入入参,在方法中获取入参就可以
module.exports = async function (params, context) {
const db = context.database
const _ = db.command
const collection = db.collection("lcap-data-2hhicMDfJ-hsjcd_avb5fh8-preview")
const result = await collection.where({
mc:params.mc
}).get()
//const result = await context.database.collection('数据库集合名称').get();
// 在这里返回这个方法的结果,需要与出参定义的结构映射
return result;
}
那如果查询条件是多个改如何写后端方法呢?先需要添加多个入参,比如我们这里想查询商品在售的和价格大于10的商品列表。需要两个查询条件我们就在入参那增加两个
自定义代码里如果需要接收多个条件需要用到查询指令,如果这两个条件需要同时满足,我们就使用and。如果只需满足一个我们就使用or
同时满足
module.exports = async function (params, context) {
const db = context.database
const _ = db.command
const collection = db.collection("lcap-data-26caupXt1-product_vfxwrnn-preview")
const result = await collection.where(_.and([{
price:_.gt(params.price)
},{
status:params.status
}])).get()
//const result = await context.database.collection('数据库集合名称').get();
// 在这里返回这个方法的结果,需要与出参定义的结构映射
return result;
}
构造同时满足是,先需要构造查询指令
_.and
表示同时满足的意思
里边需要传入一个数组,数组里的元素是对象,每个对象是一个查询条件,我们这里使用
_.gt
表示大于的意思
如果是相等可以直接使用冒号或者_.eq
都可以
只满足一个
如果要构造只满足一个,我们只需要将and替换成or即可
module.exports = async function (params, context) {
const db = context.database
const _ = db.command
const collection = db.collection("lcap-data-26caupXt1-product_vfxwrnn-preview")
const result = await collection.where(_.or([{
price:_.gt(params.price)
},{
status:params.status
}])).get()
//const result = await context.database.collection('数据库集合名称').get();
// 在这里返回这个方法的结果,需要与出参定义的结构映射
return result;
}
总结
本篇我们介绍了多条件中且和或的关系,在日常开发中这两种关系还是非常常见的,属于必须掌握的知识点,我们下期再见。