Oba są prawidłowe i zwracają nową instancję Mongoose.Schema
klasa. Oznacza to, że oba robią dokładnie to samo. Ta linia
sprawdza, czy masz już instancję klasy Schema, jeśli nie, zwraca ją za Ciebie.
Podsumowując, jeśli zadzwonisz
var schema = new mongoose.Schema({})
sam inicjujesz instancję, podczas gdy dzwonisz
var schema = mongoose.Schema({})
mangusta inicjuje jedną za Ciebie, w następujący sposób:
function Schema(obj, options) {
if (!(this instanceof Schema)) {
return new Schema(obj, options);
}
...