Cả hai đều hợp lệ và trả về một phiên bản mới của Mongoose.Schema
lớp. Điều này có nghĩa là cả hai đều làm hoàn toàn giống nhau. dòng
này kiểm tra xem bạn đã có một phiên bản của lớp Schema hay chưa, nếu chưa, nó sẽ trả về một phiên bản cho bạn.
Tóm lại, nếu bạn gọi
var schema = new mongoose.Schema({})
bạn tự khởi tạo một phiên bản, trong khi nếu bạn gọi
var schema = mongoose.Schema({})
mongoose khởi tạo một cái cho bạn, với cái này:
function Schema(obj, options) {
if (!(this instanceof Schema)) {
return new Schema(obj, options);
}
...