我正在构建一个 MEAN 应用程序。
这是我的用户名模式,用户名应该是唯一的。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
module.exports = mongoose.model('User', new Schema({
username: { type: String, unique: true }
}));
在我的发布路线上,我这样保存用户:
app.post('/authenticate', function(req, res) {
var user = new User({
username: req.body.username
});
user.save(function(err) {
if (err) throw err;
res.json({
success: true
});
});
})
如果我再次使用相同的用户名发帖,我会收到此错误:
MongoError: insertDocument :: caused by :: 11000 E11000 重复键错误索引:
有人可以解释如何而不是错误发送 json { succes: false, message: 'User already exist!' }
注意:在我发布用户后我会自动进行身份验证,不需要密码或其他东西。
原文由 Hiero 发布,翻译遵循 CC BY-SA 4.0 许可协议
您将需要测试从保存方法返回的错误,看看它是否因重复的用户名而抛出。