【发布时间】:2021-05-15 12:43:51
【问题描述】:
您好,我是 MongoDB 和 Moongoose 的新手,我试图避免我的 api 用户在 Mongo 数据库中存储重复的联系人姓名,但似乎它根本不起作用。
这就是我现在尝试这样做的方式,名称和电话号码是强制性的,而且名称必须是唯一的,否则会引发错误。
const contactSchema = new mongoose.Schema({
name: {
type: String,
required: true,
unique: true
},
number: {
type: Number,
required: true
}
});
app.post('/api/persons', (request, response) => {
const body = request.body;
const person = new Contact({
name: body.name,
number: +body.number
});
person.save()
.then(saved => {
response.json(saved);
})
.catch(error => {
return response.status(400).json({
error: 'content missing'
});
});
})
如果我发送一个缺少名称或编号的发布请求,它已经引发了一个错误,但似乎没有得到唯一值验证。
【问题讨论】:
标签: node.js mongodb express mongoose mongoose-schema