收藏
回答

云函数操作数据库 使用where查询时无法传入参数?

云函数端:

// 云函数入口文件

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

请问这个问题应该怎么解决?


回答关注问题邀请回答
收藏

3 个回答

  • amintong
    amintong
    2020-04-14
    // 云函数端
    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的

    2020-04-14
    有用 2
    回复 1
    • 糖分
      糖分
      2020-04-14
      谢谢你!我刚才解决了!
      2020-04-14
      回复
  • 糖分
    糖分
    2020-04-14

    谢谢各位,我刚才出现问题的地方都是在本地调试云函数的时候出现的,上传部署之后从小程序端调用是没问题的!

    2020-04-14
    有用
    回复
  • meng674782630
    meng674782630
    2020-04-14

    我看不出来你贴的代码有什么问题,你可以用排除法去排除,从小程序端到云函数,一个个打印,到数据库看权限看数据是否存在,我相信应该是可以解决的。

    2020-04-14
    有用
    回复
登录 后发表内容
问题标签