收藏
回答

云函数怎么返回数据库查询到的数据?


// 云函数入口文件
const cloud = require('wx-server-sdk')
 
cloud.init()
//初始化数据库       
 const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext() 
   
   
  try {
    var userinfos = {};
   await db.collection('user').where({
      _openid: wxContext.OPENID
    }).get().then(res => {
       userinfos = res.data[0]
       event=res.data[0]
      console.log("有数据:",userinfos['sushe'])
       

    }) 

     console.log("undefinded:",userinfos['sushe'])

    return {
      event,
      xm: 2,
      sushe: userinfos['sushe'],
      openid: wxContext.OPENID,
      appid: wxContext.APPID,
      unionid: wxContext.UNIONID,
    }

我想获取查询到的结构,然后赋值到userinfos中,然后再用return返回userinfos中的数据,但是在括号外输出的结果为undefinded,该怎么写才能获取到userinfos['sushe']的值。

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

3 个回答

  • A🙃政
    A🙃政
    2019-11-03

    let p = new Promise((resolve, reject) => {

    db.collection('user').where({

    _openid: wxContext.OPENID

    }).get({

    success: res => {

    resolve(res)

    },

    fail: err => {

    reject(err)

    }

    })

    })

    return await p;


    2019-11-03
    有用 1
    回复 4
  • 罗梅光
    罗梅光
    2019-11-03

    哈哈,来晚了。看描述解决了。

    2019-11-03
    有用
    回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-11-03

    let { data = [{}] } = await db.collection('user').where({

        _openid: wxContext.OPENID

    }).get(),

    sushe = data[0]

    event = sushe


    return {

        event,

        xm: 2,

        sushe: sushe,

        openid: wxContext.OPENID,

        appid: wxContext.APPID,

        unionid: wxContext.UNIONID,

    }


    2019-11-03
    有用
    回复 2
登录 后发表内容
问题标签