Entrambi sono validi e restituiscono una nuova istanza di Mongoose.Schema
classe. Ciò significa che entrambi fanno esattamente lo stesso. Questa linea
controlla se hai già un'istanza della classe Schema, in caso contrario, ne restituisce una per te.
Per riassumere, se chiami
var schema = new mongoose.Schema({})
inizializzi tu stesso un'istanza, mentre se chiami
var schema = mongoose.Schema({})
mangusta ne inizializza uno per te, con questo:
function Schema(obj, options) {
if (!(this instanceof Schema)) {
return new Schema(obj, options);
}
...