И двете са валидни и връщат нов екземпляр на Mongoose.Schema
клас. Това означава, че и двете правят абсолютно същото. Този ред
проверява дали вече имате екземпляр на класа Schema, ако не, връща такъв за вас.
За да обобщим, ако се обадите
var schema = new mongoose.Schema({})
вие сами инициализирате екземпляр, докато ако извикате
var schema = mongoose.Schema({})
mongoose инициализира такъв за вас с това:
function Schema(obj, options) {
if (!(this instanceof Schema)) {
return new Schema(obj, options);
}
...