同样的命令客户端和云函数查询结果不一样,云函数查的结果是全部数据,这是为什么?
发布于 5 年前 作者 songjuan 2334 次浏览 来自 官方Issues

 同样的命令客户端和云函数查询结果不一样,客户端查出来是筛选的数据,云函数查的结果是全部数据,这是为什么?如果是传2个查询的条件在云函数里拼接 那查出来结果是一样的,但如果在客户端拼接好传的话查的就是全部数据。有大神帮我看看吗

var mengpai = [‘花果山’]

    var dengji = [‘175’]

    var wh = []

    wh.push($.in([’$mengpai’, mengpai]))

    wh.push($.in([’$dengji’, dengji]))

    db.collection(‘accounts’).aggregate().match(_.expr($.and(wh)))

      .end()

      .then(res => console.log(‘本地调用成功’, res))

      .catch(err => console.error(err))

    wx.cloud.callFunction({

      name: ‘accountQuery’,

      data: {

       wh:wh

      }

    }).then(res => {

      console.log(‘云函数成功’, res)

    }).catch(res => {

      console.log(‘失败’, res)

    })

云函数

  // let mengpai = event.mengpai

  // let dengji = event.dengji

  // var wh=[]

  //  wh.push($.in([’$mengpai’, mengpai]))

  //   wh.push($.in([’$dengji’, dengji]))

  let wh = event.wh

  return await db.collection(‘accounts’).aggregate().match(_.expr($.and(wh)))

    .end()

2 回复

云函数是管理员权限,获取全部数据。

小程序端看用户权限,看权限设置

权限不一样·

回到顶部