做了一个用户信息的录入与更新,通过openid检验数据库里是否存在用户信息,没有就新增通过db.collection('UserInfo').add添加信息,有就通过db.collection('UserInfo').where(_openid).updata更新相应的用户数据。在我自己测试的时候添加和更新都进行的很顺利,可是给体验者试用时,数据库就是没有他们作为用户的信息,把数据库权限更改重试也没有用
框架类型 | 问题类型 | 终端类型 | AppID | 环境ID | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | 微信安卓客户端 | wx600dcc7f7f02c3ba | yingyingying-7gw8jn4452265e97 | 2.15.0 |
做了一个用户信息的录入与更新,通过openid检验数据库里是否存在用户信息,没有就新增通过db.collection('UserInfo').add添加信息,有就通过db.collection('UserInfo').where(_openid).updata更新相应的用户数据。在我自己测试的时候添加和更新都进行的很顺利,可是给体验者试用时,数据库就是没有他们作为用户的信息,把数据库权限更改重试也没有用
2 个回答
问题出在这,跟云开发没关系。如果想获取openid,用云函数获取吧
userLogin:function(name,photo){
var That = this;
wx.login({
success: res => {
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data:{code:res.code,name:name,photo:photo},
success: res => {
console.log('res',res)
app.globalData.userInfo=wx.getStorageSync('userInfo')
console.log('app.userInfo',app.globalData.userInfo)
//调用云函数获取openid
wx.cloud.callFunction({
name:"login",
success(res){
wx.setStorageSync('openid', res.result.openid)
}
}),
//使用openid判断是否已经注册过
db.collection('UserInfo').where({
_openid: wx.getStorageSync('openid')
}).get({
success(res){
if(res.data.length > 0){
That.setData({
hasRegistered: true //将hasRegistered更新为true
})
}
//已注册,更新用户信息;没注册,新增用户
if(That.data.hasRegistered){
That.updateUser()
}else{
That.addUser()
}
}
})
}
})
}
})
},
//新增用户,并将hasReigstered设置为true
addUser(){
let that = this
db.collection('UserInfo').add({
data:{
name: wx.getStorageSync('userInfo').nickName,
gender: wx.getStorageSync('userInfo').gender,
city: wx.getStorageSync('userInfo').city,
province: wx.getStorageSync('userInfo').province,
country: wx.getStorageSync('userInfo').country,
avatarUrl: wx.getStorageSync('userInfo').avatarUrl,
lat:app.globalData.lat,
lon:app.globalData.lon
},
success(res){
that.setData({
hasRegistered: true
})
console.log("新增用户成功",res)
//获取该用户数据的_id
db.collection('UserInfo').where({
_openid: wx.getStorageSync('openid')
}).get({
success:res=>{
app.globalData.counterID=res.data[0]._id
}
})
}
})
},
//更新用户数据
updateUser(){
db.collection('UserInfo').where({
_openid: wx.getStorageSync('openid')
}).update({
data:{
name: wx.getStorageSync('userInfo').nickName,
gender: wx.getStorageSync('userInfo').gender,
city: wx.getStorageSync('userInfo').city,
province: wx.getStorageSync('userInfo').province,
country: wx.getStorageSync('userInfo').country,
avatarUrl: wx.getStorageSync('userInfo').avatarUrl,
lat:app.globalData.lat,
lon:app.globalData.lon
},
success(res){
console.log("更新用户信息成功",res)
//获取该用户数据的_id
db.collection('UserInfo').where({
_openid: wx.getStorageSync('openid')
}).get({
success:res=>{
app.globalData.counterID=res.data[0]._id
}
})
}
})
},