云函数不能操作2次数据库?
发布于 5 年前 作者 dwei 10165 次浏览 来自 官方Issues

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

// 云函数入口文件
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次数据库??

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

谁能帮忙看看?

1 回复

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

回到顶部