在尝试自动递增字段时,我使用了Mongoose序列,但它从不自动递增,因为Mongoose总是抛出以下错误:
错误:产品验证失败:在路径"idProduct“处的值”未定义“(类型字符串)的idProduct:强制转换为Number失败
在(C:\Users\Posh\Desktop\api2\node_modules\mongoose\lib\error\validation.js:48:26) at ValidationError.inspect at formatValue (节点:内部/util/formatValue:763:19)在检查(节点:内部/util/检查:340:10),在formatWithOptionsInternal (节点:内部/util/检查:2006年:40),在formatWithOptions (节点:内部/util/检查:1888:10),在console.log (节点:console.log/控制台/构造函数:323:14)控制台/构造函数:359:61)在(C:\Users\Posh\Desktop\api2\controllers\products.js:87:17) at newProduct processTicksAndRejections (节点:内部/进程/任务队列:96:5){错误:{ idProduct: CastError:强制转换为Number失败的值“未定义”(类型字符串)位于路径"idProduct“
这是我的模型,它是如何配置猫鼬序列的:
const { Schema, model } = require('mongoose');
const mongoosePaginate = require('mongoose-paginate-v2');
const mongoose = require('mongoose');
const AutoIncrement = require('mongoose-sequence')(mongoose);
const ProductSchema = Schema (
{
barCode: {
type: String,
maxlength:64,
unique: true,
required: [true, 'El Código de Producto es obligatorio']
},
idProduct: {
type: Number,
unique: true
}
}
);
ProductSchema.plugin(AutoIncrement, {inc_field: 'idProduct'});
ProductSchema.plugin(mongoosePaginate);
module.exports = model('Product', ProductSchema);我真的不明白发生了什么,因为我只是复制和粘贴了猫鼬序列配置,因为它在其他模型中工作得很完美。
发布于 2022-05-31 22:22:54
试试这个
const mongoosePaginate = require('mongoose-paginate-v2');
const mongoose = require('mongoose');
const AutoIncrement = require('mongoose-sequence')(mongoose);
const ProductSchema = Schema (
{
barCode: {
type: String,
maxlength:64,
unique: true,
required: [true, 'El Código de Producto es obligatorio']
},
idProduct: Number
}
);
ProductSchema.plugin(AutoIncrement, {inc_field: 'idProduct', disable_hooks: true});
ProductSchema.plugin(mongoosePaginate);
module.exports = model('Product', ProductSchema);```https://stackoverflow.com/questions/72454463
复制相似问题