资讯专栏INFORMATION COLUMN

orm2 中文文档 3. 定义模型

gnehc / 3376人阅读

摘要:译者飞龙来源在连接之后,你可以使用连接对象来定义你的模型。你需要指定模型的名称,一个用于描述的属性和一些可选的选项。在这个例子中,有个模型方法叫做。接收的第一个对象第二个参数被称为属性对象,它定义了所有的属性。在属性修改时自动保存模型。

译者:飞龙

来源: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(通常也是数据库里面表的名称),它有三个属性(namesurname为文本,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=73person对象,并且打印出它的名字和姓氏。其它类型的可用属性请见这里。

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

相关文章

  • orm2 中文文档 3.1 模型属性

    摘要:译者飞龙来源模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们或使用默认设置。文本类型也支持最大尺寸数值和布尔值,用于非常长的字符串。数值类型是浮点数,支持数值,字节大小和布尔值。日期类型支持布尔值。 译者:飞龙 来源:Model Properties 模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们(或使用默认...

    Yuqi 评论0 收藏0
  • orm2 中文文档 3.2 模型验证器

    摘要:译者飞龙来源模块用于验证数据。可用的验证器的列表请见。验证器也构建于中,可以这样来访问你可以为模型的每个属性定义验证器。在第一个验证器验证失败之后,验证就停止了。 译者:飞龙 来源:Model Validations Enforce模块用于验证数据。对于使用以前的验证器的用户,还可以继续使用,它们中的一部分整合到了enforce,剩余部分还没有。推荐你开始使用orm.enforce...

    zhiwei 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<