with tutorial started start node guide commands biblioteca app node.js mongodb mongoose schema

node.js - tutorial - Campos opcionales de esquema de mangosta



node js server (2)

Tengo un esquema de usuario con mangosta en nodejs como este

userschema = mongoose.Schema({ org: String, username: String, fullname: String, password: String, email: String });

Excepto que a veces necesito agregar algunos campos más.

La pregunta principal es: ¿Puedo tener campos opcionales en un esquema monogoose?


Además de opcional (predeterminado) y requerido , un campo también puede ser requerido condicionalmente , basado en uno o más de los otros campos.

Por ejemplo, requiere contraseña solo si existe un correo electrónico:

var userschema = mongoose.Schema({ org: String, username: String, fullname: String, password: { type: String, required: function(){ return this.email? true : false } }, email: String });


Todos los campos en un esquema de mangosta son opcionales por defecto (además de _id , por supuesto).

Solo se requiere un campo si agrega required: true a su definición.

Así que defina su esquema como el superconjunto de todos los campos posibles, agregando required: true a los campos requeridos.