Al tratar de hacer que un campo se incremente automáticamente, uso Mongoose Sequence, pero nunca se incrementa automáticamente, ya que Mongoose siempre me arroja el siguiente error:
Error: la validación del producto falló: idProduct: la conversión a número falló para el valor "indefinido" (tipo de cadena) en la ruta "idProduct"
en ValidationError.inspect (C:\Users\Posh\Desktop\api2\node_modules\mongoose\lib\error\validation.js:48:26) en formatValue (node:internal/util/inspect:763:19) en inspeccionar ( node:internal/util/inspect:340:10) en formatWithOptionsInternal (node:internal/util/inspect:2006:40) en formatWithOptions (node:internal/util/inspect:1888:10) en console.value (node:internal /console/constructor:323:14) en console.log (node:internal/console/constructor:359:61) en newProduct (C:\Users\Posh\Desktop\api2\controllers\products.js:87:17) en processTicksAndRejections (node:internal/process/task_queues:96:5) { errores: { idProduct: CastError: Cast to Number falló para el valor "indefinido" (tipo cadena) en la ruta "idProduct"
Este es mi modelo y cómo configura Mongoose Sequence:
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);La verdad no entiendo que pasa ya que solo copie y pegue la configuración de Mongoose Sequence como esta en otros modelos donde funciona perfectamente.
prueba este
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);```