MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Erstellen von Mongoose-Schemas mit oder ohne 'neues' Schlüsselwort?

Beide sind gültig und geben eine neue Instanz von Mongoose.Schema zurück Klasse. Das bedeutet, dass beide genau dasselbe tun. Diese Zeile prüft, ob Sie bereits eine Instanz der Schema-Klasse haben, wenn nicht, gibt sie eine für Sie zurück.

Zusammenfassend, wenn Sie anrufen

var schema = new mongoose.Schema({})

Sie initialisieren selbst eine Instanz, während Sie aufrufen

var schema = mongoose.Schema({})

mongoose initialisiert einen für Sie, mit diesem:

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