云函数getRegexp
// 云函数入口文件
const cloud = require('wx-server-sdk')
//初始化云函数,设置云开发环境ID
cloud.init({
env: "online-vr092" //写为固定云环境
// env: cloud.DYNAMIC_CURRENT_ENV //动态写法 API调用都保持和云函数当前所在环境一致
})
const db = cloud.database() //获取数据库的引用
const _ = db.command //获取command方法
// 云函数入口函数
exports.main = async (event, context) => {
//返回数据库请求的数据
return await db.collection("ALHUR_II")
.where(_.or([{
englishDesc: db.RegExp({ //对EnglishDscription构建正则查询
regexp: event, //查询关键词
options: 'i', //大小写不敏感
})
},
{
chineseDesc: db.RegExp({
regexp: event,
options: 'i',
})
},
{
partNo: db.RegExp({
regexp: event,
options: 'i',
})
}
]))
.field({
partNo: true,
englishDesc: true
})
.get({
//异步请求数据
sucess(res) {
return res;
console.log(value);
console.log(event);
},
fail(err) {
return err
}
})
}
小程序端js试图传入js到云函数正则查询
wx.cloud.callFunction({
name: 'getRegexp',
data:{ value }
}).then((res)=>{
console.log(res.result);
});
提示错误
如果将云函数中event换做固定的字符串,比如"传感器"等,就可以直接查询出结果。
{
chineseDesc: db.RegExp({
regexp: event,
options: 'i',
})
}
怀疑是传参数到云函数中时出现了问题,求各位大佬解答!
云函数调用event错误,改成下面这样就正常了
{ chineseDesc: db.RegExp({ regexp: event.value, options: 'i', })
遇到这种情况,你可以先打印一下event是啥,一步步调试
ps.你所遇到的问题说明你基本功还不太扎实,不能直接告诉你答案