云开发弄一个注册页面,用户名查重总是出错怎么办?
我还是个学生,接触微信小程序编程不久,有什么不对的希望大家指出来。现在我打算用云开发弄一个注册页面,简单来说就是读取用户输入的账号数据,然后存到数据库的users集合,自然在添加新的账号信息前,要先查询users中是否已存在相同账号,若存在则提示账号已被注册,否则添加账号进users集合,完成注册。问题是我在使用db.collection(“users”).where{(accountnumber:this.data.accountnumber}).get({success:res=>{},fail:res=>{}})进行转换查重时发现最后总是显示’该用户名已被注册’,既然调用了success的回调函数就表示存在相同账号,可账号集合明明是空的,这也会查到相同用户名吗,因为这个问题,无法添加新的账号信息,我也试着把匹配条件改成确定的where{(accountnumber:‘1234’}),也还是会查询成功,不知道怎么回事,刚接触微信小程序云开发不久不知道哪里有问题,有哪位兄弟能够替我解惑吗?下面是部分源码
const db = wx.cloud.database();
let accountnumberN = this.data.accountnumber;//账号
let password = this.data. password;//密码
let nickname = this.data.nickname;//昵称
db.collection("users").where({
accountnumber:this.data.accountnumber
}).get({
success:res=>{
wx.showToast({
title: '该用户名已被注册',
icon:'none'
})
wx.navigateTo({
url: '/pages/my/my',
})
},fail:err=>{
db.collection("users").add({
data: {
accountnumber:accountnumberN,
password: password,
nickname: nickname,
postnumber:0,
replynumber:0
}, success: res => {
wx.showToast({
title: '注册成功~',
icon: 'loading',
duration: 2000
})
console.log(res)
that.setData({
success: true
})
app.globalData.mynickname = res.data.nickname;
app.globalData. myaccountnumber = res.data. accountnumber;
//若无返回应设置返回
}, fail: err => {
wx.showToast({
title: '注册失败',
icon:'none'
})
}
})
}
})