我可以在模式中有一个字段,比如“_id”,只有当请求类型是“PUT”时才需要它吗?
const sampleSchema = mongoose.Schema({ _id: { type: Number, required: [true, "Sample _id is required"] } })
字符串
fjaof16o1#
如果内置的验证器不够,你可以定义自定义验证器来满足你的需求。自定义验证通过传递一个验证函数来声明- Custom Validators:
const mongoose = require('mongoose'); const sampleSchema = mongoose.Schema({ _id: { type: Number, required: function () { return !!this._id; }, message: "Sample _id is required" } }); const SampleModel = mongoose.model('Sample', sampleSchema);
字符串在Mongoose中,如果您没有显式设置,则默认情况下会将自动生成的_id分配给每个文档。因此,在创建新文档时,您不需要显式设置_id字段,除非您希望使用自定义_id。但请注意,如果没有id,mongoose不允许保存或创建新文档- Ids。
_id
1条答案
按热度按时间fjaof16o1#
如果内置的验证器不够,你可以定义自定义验证器来满足你的需求。自定义验证通过传递一个验证函数来声明- Custom Validators:
字符串
在Mongoose中,如果您没有显式设置,则默认情况下会将自动生成的
_id
分配给每个文档。因此,在创建新文档时,您不需要显式设置_id
字段,除非您希望使用自定义_id
。但请注意,如果没有id,mongoose不允许保存或创建新文档- Ids。