摘要:译者飞龙来源在连接之后,你可以使用连接对象来定义你的模型。你需要指定模型的名称,一个用于描述的属性和一些可选的选项。在这个例子中,有个模型方法叫做。接收的第一个对象第二个参数被称为属性对象,它定义了所有的属性。在属性修改时自动保存模型。
译者:飞龙
来源:Defining Models
在连接之后,你可以使用连接对象(db)来定义你的模型。你需要指定模型的名称,一个用于描述的属性和一些(可选的)选项。下面是一个简短的例子:
var Person = db.define("person", { id: {type: "serial", key: true}, // the auto-incrementing primary key name: {type: "text"}, surname: {type: "text"}, age: {type: "number"} }, { methods : { fullName: function() { return this.name + " " + this.surname; } } });
这个模型叫做person(通常也是数据库里面表的名称),它有三个属性(name和surname为文本,age为数值)。如果你自己不指定任何键的话,默认的id: { type: "serial", key: true }会添加进来。在这个例子中,有个模型方法叫做fullName。下面是这个模型的使用方法的示例:
Person.get(73, function(err, person) { if (err) throw err; console.log("Hi, my name is " + person.fullName()); });
这会获取id=73的person对象,并且打印出它的名字和姓氏。其它类型的可用属性请见这里。
API/** * @param {Object} props Property definitions * @param {Object} opts Options */ db.define(props, opts)
db.define()接收的第一个对象(第二个参数)被称为属性对象,它定义了所有的属性。
第二个对象指定了额外的选项:
选项名称 | 类型 | 描述 |
---|---|---|
collection | String | 覆写数据库中表的名称 |
methods | Object | 模型实例上的额外方法,它会被设置到实例上。 |
hooks | Object | 用户定义的钩子或回调 |
validations | Object | 用户定义的验证器 |
id | Array | 为了支持在properties上设置key: true而不提倡使用 |
cache | Boolean | 允许你开启或者禁用单例行为。它叫做cache,但是和缓存毫无关系。 |
autoSave | Boolean | 不推荐。在属性修改时自动保存模型。 |
autoFetch | Boolean | 是否自动获取关联 |
autoFetchLimit | Number | 自动获取关联的深度 |
cascadeRemove | Boolean | 删除实例时是否要删除关联 |
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/17509.html
摘要:译者飞龙来源模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们或使用默认设置。文本类型也支持最大尺寸数值和布尔值,用于非常长的字符串。数值类型是浮点数,支持数值,字节大小和布尔值。日期类型支持布尔值。 译者:飞龙 来源:Model Properties 模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们(或使用默认...
摘要:译者飞龙来源模块用于验证数据。可用的验证器的列表请见。验证器也构建于中,可以这样来访问你可以为模型的每个属性定义验证器。在第一个验证器验证失败之后,验证就停止了。 译者:飞龙 来源:Model Validations Enforce模块用于验证数据。对于使用以前的验证器的用户,还可以继续使用,它们中的一部分整合到了enforce,剩余部分还没有。推荐你开始使用orm.enforce...
阅读 1219·2021-11-22 13:54
阅读 1406·2021-11-22 09:34
阅读 2646·2021-11-22 09:34
阅读 3908·2021-10-13 09:39
阅读 3322·2019-08-26 11:52
阅读 3319·2019-08-26 11:50
阅读 1495·2019-08-26 10:56
阅读 1881·2019-08-26 10:44