MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Créer des schémas Mongoose avec ou sans mot-clé "nouveau" ?

Les deux sont valides et renvoient une nouvelle instance de Mongoose.Schema classer. Cela signifie que les deux font exactement la même chose. Cette ligne vérifie si vous avez déjà une instance de la classe Schema, sinon, elle vous en renvoie une.

Pour résumer, si vous appelez

var schema = new mongoose.Schema({})

vous initialisez une instance vous-même, tandis que si vous appelez

var schema = mongoose.Schema({})

mangouste en initialise un pour vous, avec ceci :

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