Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在吃水线中动态定义和获取模型_Javascript_Node.js_Orm_Sails.js_Waterline - Fatal编程技术网

Javascript 在吃水线中动态定义和获取模型

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

我想知道在Waterline中是否有可能定义模型或按名称获取模型,如中所示

定义:

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'的值