MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Criando esquemas do Mongoose com ou sem palavra-chave 'nova'?


Ambos são válidos e retornam uma nova instância do Mongoose.Schema classe. O que isso significa é que ambos fazem exatamente o mesmo. Esta linha verifica se você já possui uma instância da classe Schema, caso contrário, ele retorna uma para você.

Para resumir, se você ligar
var schema = new mongoose.Schema({})

você mesmo inicializa uma instância, enquanto se chamar
var schema = mongoose.Schema({})

mangusto inicializa um para você, com isso:
function Schema(obj, options) {
  if (!(this instanceof Schema)) {
    return new Schema(obj, options);
  }
  ...