我试图检查是否有一个帐户与相同的用户名已经存在或不存在。我正在使用exist方法来检查,但我一直得到一个大的对象,而不是一个布尔值。
async checkExisting(username,userCollection) { //WORK ON ISSUE WITH VERIFYING
const check = new Promise((resolve,reject) => {
let value = userCollection.exists({username})
console.log(value);
// if(userCollection.exists({username})) {
// reject("Username taken")
// }
resolve("Username avaliable")
})
return check;
},
2条答案
按热度按时间jtoj6r0c1#
userCollection.exists({username})
返回一个您从未运行过的查询。您需要实际执行它并等待结果。还要避免Promise
constructor antipattern。epggiuax2#
Object和布尔值之间有什么问题?
!!userCollection.findOne({username})
来检查使用此用户名的用户是否存在。我发现很多开发者都用这个,所以我认为这很正常。