Javascript 在吃水线中动态定义和获取模型
我想知道在Waterline中是否有可能定义模型或按名称获取模型,如中所示 定义:Javascript 在吃水线中动态定义和获取模型,javascript,node.js,orm,sails.js,waterline,Javascript,Node.js,Orm,Sails.js,Waterline,我想知道在Waterline中是否有可能定义模型或按名称获取模型,如中所示 定义: var Person = db.define("person", { name : String, surname : String, age : Number, // FLOAT male : Boolean, continent : [ "Europe", "America", "Asia", "Africa", "Australia
var Person = db.define("person", {
name : String,
surname : String,
age : Number, // FLOAT
male : Boolean,
continent : [ "Europe", "America", "Asia", "Africa", "Australia", "Antartica" ], // ENUM type
photo : Buffer, // BLOB/BINARY
data : Object // JSON encoded
}, {
methods: {
fullName: function () {
return this.name + ' ' + this.surname;
}
},
validations: {
age: orm.enforce.ranges.number(18, undefined, "under-age")
}
});
获取:
var MyPersonModel = db.models["person"];
谢谢 Sails在
Sails.models
对象上公开您的模型,因此以下操作将起作用:
var MyPersonModel = sails.models['person'];
如果要在全局对象之外访问模型,请执行以下操作:
var MyPersonModel = global['Person'];
sails对象也可作为http请求对象的属性使用,因此在任何路由中,您都可以执行以下操作:
var MyPersonModel = req._sails.models['person'];
事实上,如果您希望通过sails.models
或req.\u sails.models
以独占方式访问模型,并且不希望sails将模型导出为全局对象的属性,则可以设置配置globals.models=false
Sails在
Sails.models
对象上公开您的模型,因此以下操作将起作用:
var MyPersonModel = sails.models['person'];
如果要在全局对象之外访问模型,请执行以下操作:
var MyPersonModel = global['Person'];
sails对象也可作为http请求对象的属性使用,因此在任何路由中,您都可以执行以下操作:
var MyPersonModel = req._sails.models['person'];
事实上,如果您希望通过sails.models
或req.\u sails.models
以独占方式访问模型,并且不希望sails将模型导出为全局对象的属性,则可以设置配置globals.models=false
好东西,谢谢。有什么定义新模型的方法吗?我不确定,但我怀疑。加载模块的代码分布在几个文件中:、、和Sails是
要求
对models目录中的所有文件进行规范化处理,然后对定义进行规范化处理,然后使用规范化定义对waterline.Collection进行子类化,最后实例化集合。这个例子就是你所看到的风帆的价值。模型['person']很好,谢谢。有什么定义新模型的方法吗?我不确定,但我怀疑。加载模块的代码分布在几个文件中:、、和Sails是要求
对models目录中的所有文件进行规范化处理,然后对定义进行规范化处理,然后使用规范化定义对waterline.Collection进行子类化,最后实例化集合。实例是您看到的sails.models['person'的值