sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Creando Mongoose Schemas con o sin la palabra clave 'nueva'?

Ambos son válidos y devuelven una nueva instancia de Mongoose.Schema clase. Lo que esto significa es que ambos hacen exactamente lo mismo. Esta línea comprueba si ya tiene una instancia de la clase Schema, si no, le devuelve una.

Para resumir, si llamas

var schema = new mongoose.Schema({})

tú mismo inicializas una instancia, mientras que si llamas

var schema = mongoose.Schema({})

mongoose inicializa uno para ti, con esto:

function Schema(obj, options) {
  if (!(this instanceof Schema)) {
    return new Schema(obj, options);
  }
  ...