在mongoose上创建架构是否使用' new'是否关键字?

时间:2017-02-18 07:39:43

标签: node.js mongodb mongoose mongoose-schema

我了解mongoose 中Schemamodel使用情况,但定义/创建新Schema 2种方法(我发现的),我对此感到困惑,

第一方式(没有new - 没有创建实例):

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/dbName');

// No 'new' keyword
var mySchema = mongoose.Schema({
    parameter1 : String,
    parameter2 : String
});

var modelName = mongoose.model('collectionName', mySchema);

第二方式( new - 创建实例):

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/dbName');

// There is 'new' keyword
var mySchema = new mongoose.Schema({
    parameter1 : String,
    parameter2 : String
});

var modelName = mongoose.model('collectionName', mySchema);

两者之间的区别是什么?何时使用其中一种?

1 个答案:

答案 0 :(得分:1)

两种方式都很好,但根据代码标准和mongoose库,我们使用第二种方式。它遵循延伸和扩展实施功能,如OOP。

架构&我们在nodejs中用于验证的模型&限制不需要的对象&插入mongo集合的字段。

这就是使用的原因。