云函数问题,将用户信息存入用户表,返回也正正常的,用户表没有增加?
发布于 5 年前 作者 djiang 5226 次浏览 来自 问答

目的:云函数问题,将用户信息存入用户表,如果用户名和密码都对,返回openid信息,以及将用户信息存入用户表,用openid作为数据库_ID(如果用户已存在则更新,不存在就添加)。

结果:可以返回openid等信息,但是数据更新和添加好像没有被执行,也没有报错。哪里出问题了?


// 云函数模板

// 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”


const cloud = require('wx-server-sdk')


// 初始化 cloud

cloud.init({

  // API 调用都保持和云函数当前所在环境一致

  env: cloud.DYNAMIC_CURRENT_ENV

})

const db = cloud.database()

constloguser="aaa"

const logpwd = "123321"

/**

 * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端

 * 

 * event 参数包含小程序端调用传入的 data* 

 */

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

  // 可执行其他自定义逻辑

  // console.log 的内容可以在云开发云函数调用日志查看

  // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息

  if (event.loguser == loguser && event.loguser == logpwd{

    const wxContext = cloud.getWXContext()

    

    //添加userInfo数据开始

    let userInfo = event.userInfo

    userInfo.lastTime = db.serverDate() //添加最后更新时间

    db.collection('UserInfo').doc(wxContext.OPENID).update({

      data: userInfo,

      success: function(res) {

        console.log(res.data)

      }

    }).catch(err => {

      //用户不存在会抛出异常,在异常中处理新增

      // UserInfo._id = wxContext.OPENID //设置OPENID为_id

      // userInfo.createTime = db.serverDate() //添加用户创建时间  

      db.collection('UserInfo').add({

        _id:wxContext.OPENID,

        createTime:db.serverDate(),

        data: userInfo,

        success: function(res) {

          console.log(res.data)

        }

      })

    })

    return{

      wxContext,

      event,  

      openid: wxContext.OPENID,

      appid: wxContext.APPID,

      unionid: wxContext.UNIONID,

      env: wxContext.ENV,   

    }

  }

}

2 回复

await db.collection()

看一下集合的权限 允不允许用户写

回到顶部