云函数端:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
return await db.collection('todos').where({title:event.title}).get()
}
小程序端:
search:function(){
wx.cloud.callFunction({
name:"orderQuery",
data:{
title:'123'
}
})
}
小程序端传入云函数的title参数,在云函数调用event.title时提示是undefined
如果把where里的内容写死,比如where({title:‘123’})这样是可以查询的,但是写成上面代码里那样就提示查询条件不能是undefined
请问这个问题应该怎么解决?
// 云函数端 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() exports.main = async (event, context) => { return await db.collection('todos').where({ title: event.title }).get() } // 客户端 search: function () { console.log("ok\n") wx.cloud.callFunction({ name: "where_test", data: { title: '123' } }).then(res=>{ console.log(res) }).catch(res => { console.error(res) }) }
我测试是OK的
谢谢各位,我刚才出现问题的地方都是在本地调试云函数的时候出现的,上传部署之后从小程序端调用是没问题的!
我看不出来你贴的代码有什么问题,你可以用排除法去排除,从小程序端到云函数,一个个打印,到数据库看权限看数据是否存在,我相信应该是可以解决的。