【发布时间】:2020-08-24 17:48:58
【问题描述】:
我正在使用 node 和 mongoDB 创建后端服务。
我确实有如下架构:
const UserSchema = new Schema({
name : {
type : String,
required : true
},
email : {
type : String,
required : true
},
phoneNo : {
type : Number,
required : true
},
password : {
type : String,
required : true
},
avatar : {
type : String
},
date : {
type : Date,
default : Date.now()
}
})
现在我想验证电话号码和电子邮件是否存在。对于此检查,我有以下代码 sn-p :
User.findOne({ email : req.body.email })
.then(user => {
if (user){
errors.email = 'Email already exists';
return res.status(400).json(errors);
} else {
User.findOne( {phoneNo : req.body.phoneNo})
.then (user => {
if(user) {
errors.phoneNo = 'Phone no already exists';
return res.status(400).json(errors);
}
else {
.....
所以我使用的是嵌套承诺。我相信这不是一个好的做法。但我需要为不同的点显示不同的验证消息。这可以通过更简单的方式实现吗?
【问题讨论】:
标签: javascript node.js mongodb performance mongoose