收藏
回答

云函数如何返回数据库内容呢?

更新:后来再去搜索其他的贴子,发现他们并没有使用then语句,试着删掉在执行,已经可以返回了,道行太浅,原因不解:

// 云函数入口函数

exports.main = async (event, context) => {

    return await db.collection('items').get()

}


------------------------------------------------------

社区很多这样的问题,不过因为刚学,很多代码看不懂,有劳啦~

其中有一位朋友的回答说是可以这样写,但我试过返回的还是null :


在日志里是可以看到数据的:


最后要赞一下微信的文档,真的很棒(手动狗头)

最后一次编辑于  2019-11-19
回答关注问题邀请回答
收藏

1 个回答

  • 彭辛乾
    彭辛乾
    2020-03-22
    // 云函数入口函数
    exports.main = async (event, context) => {
      const wxContext = cloud.getWXContext()
      const db = cloud.database()
      const _ = db.command
      const $ = db.command.aggregate
    
    
      /**
       * customers表和record表作连接
       * @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html
       * 需要异步返回数据,否则返回的数据为null
       */
      console.log('调用云函数查询设备信息(ID列表):' + event.deviceId)
      return new Promise((resolve , reject) => {
        db.collection('customers')
        .aggregate()
        .match({
          _id:_.in(event.deviceId)
        })
        .lookup({
          from:'record',
          let:{
            customersId:'$_id'
          },
          pipeline:$.pipeline()
          .match(_.expr($.eq(['$uid','$$customersId'])))
          .sort({
            record_time:-1
          })
          .limit(12)
          .done(),
          as'recordList'
        })
        .end()
        .then(res => {
          console.log("返回结果列表:")
          console.log(res.list)
          // 通过resolve()返回结果
          resolve(res)
        })
        .catch(err => reject(err))
      })
    }
    
    
    //调用端
    wx.cloud.callFunction({
          name:'getDeviceInfo',
          data:{
            'deviceId':deviceId
          },
          success:function(res){
            wx.showToast({
              title: '更新成功',
              icon:'success',
            })
            console.log(res)
          },
          faile:function(res){
       
          }
        })
    


    @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html

    2020-03-22
    有用 1
    回复
登录 后发表内容
问题标签