为何在判断语句中填写云数据库添加无论判断是否成功都会运行?
图中的三个输出分别是:
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
})
})