Mongoose Schema"新"关键字

Kha*_*tor 0 mongoose mongodb node.js

在声明mongoose模式时,我注意到使用了

mongoose.Schema({});
Run Code Online (Sandbox Code Playgroud)

new mongoose.Schema({});
Run Code Online (Sandbox Code Playgroud)

工作.

有什么区别吗?哪种方式更好?

lev*_*evi 6

这是同一件事.从来源:

if (!(this instanceof Schema))
    return new Schema(obj, options);
Run Code Online (Sandbox Code Playgroud)

如果省略new,它只会为您创建一个实例.