为何在判断语句中填写云数据库添加无论判断是否成功都会运行?
发布于 6 年前 作者 chao96 2658 次浏览 来自 官方Issues

图中的三个输出分别是:

1、更新成功

2、getornot变量值

3、添加成功

我需要的目的是如果云数据库不存在我的openid的信息,则进行添加,如果存在就更新那一条而不添加新的

1 回复

原文:https://developers.weixin.qq.com/community/develop/article/doc/0006480c8505a898895ad652f51813

如果这个表里只存用户信息,其实可以考虑使用set最简单。

  db.collection('user').doc(openid).set({
    data: userInfo
  }).then(e => {
    console.log('用户数据更新成功', e)
  })

如果你还是要实现,存在更新,不存在插入,可以参考这个。

  db.collection('user').doc(openid).get().then(res => {
    //用户存在则更新
    userData.lastTime = db.serverDate() //最后更新时间
    db.collection('user').doc(openid).update({
      data: userData
    })
  }).catch(err => {
    //用户不存在则新增
    userData.createTime = db.serverDate() //创建时间
    userData._id = openid
    db.collection('user').add({
      data: userData
    })
  })
回到顶部