收藏
回答

使用云函数查询没有数据,但云端测试查询有数据,是什么情况?

// 云函数入口文件
const cloud = require('wx-server-sdk')
 
cloud.init()
const db = cloud.database()
 
// 云函数入口函数
exports.main = async (event, context) => {
  return db.collection('BillDetails').where({
    userId: event.objThisId,
    dealYear:event.objDealYear,
    dealMonth:event.objDealMonth
  }).get()
}

如上云函数语句,小程序查询时,结果为空。

var that = this;
    wx.cloud.callFunction({
      name: 'getBill',
      data: {
        objThisId: that.data.thisId,
        objDealYear: that.data.selYear,
        objDealMonth: that.data.showMonth,
      },
      complete: function (res) {
        console.log(that.data.thisId)
        console.log(that.data.selYear)
        console.log(that.data.showMonth)
          var objNub = res.result.data.length
          //获取数据量
          if (objNub > 0) {
 
            console.log("................")
            console.log(res.result.data[1])
            console.log(res.result.data.length)
          }
          //查询错误
          else if (objNub < 0) {
            console.log('查询结果:' + objNub)
            console.log('系统错误!')
          }
          //查询
          else{
            console.log('查询结果:' + objNub)
          }
      }
    })

日志显示:

{"data":[],"errMsg":"collection.get:ok"}


已确认,输入的条件能查询到三条数据!

并且,数据库集合权限设置为:“所有用户可读,仅创建者可读写”!

并且,查询的是创建者自己的数据!


最后一次编辑于  09-29  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • Xpt
    Xpt
    09-29

    检查一下数据格式,比如1不能是'1'

    09-29
    赞同 2
    回复 1
    • い小杨
      い小杨
      10-04
      根据你说的 我试了一下,objDealYear: that.data.selYear,改成objDealYear: "" + that.data.selYear,就OK了
      10-04
      回复
  • 茂$。$
    茂$。$
    09-30

    数据库查看权限

    09-30
    赞同
    回复
  • 拾忆
    拾忆
    09-29

    小程序端查询的话只能查询当前用户添加的数据,其它方式导入或者其它用户添加的数据在小程序无法查询。

    09-29
    赞同
    回复
问题标签