收藏
回答

云函数不能操作2次数据库?

要求:查询用户是否存在,不存在则增加到数据库


// 云函数入口文件
const cloud = require('wx-server-sdk')


cloud.init()
const db = cloud.database();


// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const OPENID = wxContext.OPENID
  event.userInfo.openid = wxContext.OPENID
  event.userInfo.isadd = false
  const admin = await db.collection('username').where({ _openid: OPENID }).get()
  if (admin.data.length == 0) {
    await db.collection('username').add({
      userinfo:'test'
    })
  }


  return event.userInfo

})

能执行到if里面但是增加数据库的动作就不可以了,

在if里面的 增加数据库 前面加上 await 也不可以

郁闷了,不能同时操作2次数据库??

还是有什么底层原理我不清楚??

谁能帮忙看看?

最后一次编辑于  2020-02-05
回答关注问题邀请回答
收藏

2 个回答

  • 叹服。
    叹服。
    2022-07-10

    我在js里边写也是这样,第一次访问成功,第二次操作就失败了.

    2022-07-10
    有用
    回复
  • 老张
    老张
    2020-02-05

    都改成await就行了。云函数里不能有任何异步。

    2020-02-05
    有用
    回复 3
    • 施正
      施正
      2020-02-05
      2020-02-05
      回复
    • 老张
      老张
      2020-02-05回复施正
      权限问题?管理员可写吗?
      2020-02-05
      回复
    • 施正
      施正
      2020-02-06回复老张
      这个是在云函数里面写的,不是说云函数是管理员权限吗
      2020-02-06
      回复
登录 后发表内容
问题标签