Quiero crear un modelo para mi proyecto y soy nuevo en JS.
Quiero generar una cadena aleatoria de entre 6 y 10 dígitos para mi valor clave.
const objectSchema = mongoose.Schema({ _id : mongoose.Schema.Types.ObjectId, userId : {type: String, required: true}, randomGeneratedString: ??? });¿Cómo puedo hacer esto de la manera correcta?
Puede usar el valor default de Schema para generar un valor aleatorio.
const objectSchema = mongoose.Schema({ _id : mongoose.Schema.Types.ObjectId, userId : {type: String, required: true}, randomGeneratedString: { type: String, default: generateRandom = () => { // Here your function to generate random string return "yourRandomString" } } });debe usar mongoose midleware para implementar el esquema que desea que use el código a continuación para definir su esquema
const schema = new mongoose.Schema({ randomGeneratedString: { type: String, minlength: 6, maxlength: 10, }, }); schema.pre('save', async function (next) { const randomInteger = (min, max) => { return Math.floor(Math.random() * (max - min + 1)) + min; }; this.randomGeneratedString = Math.random() .toString(36) .substr(2, randomInteger(6, 10)); next(); });