小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
const wxContext = cloud.getWXContext()
let user = db.collection(
'user'
)
let {total} = await
new
Promise( (resolve, reject)=>{
user.where({ _openid: wxContext.OPENID }).count().then( res=>{
resolve(res)
})
let data = {
_openid: wxContext.OPENID,
updateDate:
Date().getTime(),
...event,
}
if
( total == 0 ){
data.createDate =
Date().getTime()
return
await user.add({ data }).then( res=>{
console.log(
'新增成功->'
, res)
res
}).
catch
( err=>{
'新增失败'
,err)
else
{
await user.where({ _openid: wxContext.OPENID }).update({ data }).then( res=>{
'更新成功->'
'更新失败'
这样写优雅吗?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢邀,这方面的话我目前也是先查询,在根据查询结果来判断是更新还是新增
新手,也有这个疑问。目前是直接where查询,如果有走更新,如果没有走新增。感觉你的要好点。
await user.where({
_openid: _.eq(openid)
}).get().then(res => {
// console.log(res.data);
const userLen = res.data.length;
if(userLen===0){
// 新用户... somethime
} else if(userLen===1) {
// 老用户
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
const wxContext = cloud.getWXContext()
let user = db.collection(
'user'
)
let {total} = await
new
Promise( (resolve, reject)=>{
user.where({ _openid: wxContext.OPENID }).count().then( res=>{
resolve(res)
})
})
let data = {
_openid: wxContext.OPENID,
updateDate:
new
Date().getTime(),
...event,
}
if
( total == 0 ){
data.createDate =
new
Date().getTime()
return
await user.add({ data }).then( res=>{
console.log(
'新增成功->'
, res)
return
res
}).
catch
( err=>{
console.log(
'新增失败'
,err)
})
}
else
{
return
await user.where({ _openid: wxContext.OPENID }).update({ data }).then( res=>{
console.log(
'更新成功->'
, res)
return
res
}).
catch
( err=>{
console.log(
'更新失败'
,err)
})
}
这样写优雅吗?
谢邀,这方面的话我目前也是先查询,在根据查询结果来判断是更新还是新增
新手,也有这个疑问。目前是直接where查询,如果有走更新,如果没有走新增。感觉你的要好点。
await user.where({
_openid: _.eq(openid)
}).get().then(res => {
// console.log(res.data);
const userLen = res.data.length;
if(userLen===0){
// 新用户... somethime
} else if(userLen===1) {
// 老用户
}
})