前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >orm2 中文文档 3. 定义模型

orm2 中文文档 3. 定义模型

作者头像
ApacheCN_飞龙
发布2022-11-27 16:00:28
2170
发布2022-11-27 16:00:28
举报
文章被收录于专栏:信数据得永生

译者:飞龙 来源:Defining Models

在[连接](1. Connecting to Database.md)之后,你可以使用连接对象(db)来定义你的模型。你需要指定模型的名称,一个用于描述的属性和一些(可选的)选项。下面是一个简短的例子:

代码语言:javascript
复制
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。下面是这个模型的使用方法的示例:

代码语言:javascript
复制
Person.get(73, function(err, person) {
  if (err) throw err;

  console.log('Hi, my name is ' + person.fullName());
});

这会获取id=73person对象,并且打印出它的名字和姓氏。其它类型的可用属性请见[这里](3.1 Model Properties.md)。

API

代码语言:javascript
复制
/**
 * @param {Object} props Property definitions
 * @param {Object} opts Options
 */
db.define(props, opts)

db.define()接收的第一个对象(第二个参数)被称为属性对象,它定义了所有的[属性](3.1 Model Properties.md)。

第二个对象指定了额外的选项:

选项名称

类型

描述

collection

String

覆写数据库中表的名称

methods

Object

模型实例上的额外方法,它会被设置到实例上。

hooks

Object

用户定义的[钩子或回调](3.3 Model Hooks.md)

validations

Object

用户定义的[验证器](3.2 Model Validations.md)

id

Array

为了支持在properties上设置key: true而不提倡使用

cache

Boolean

允许你开启或者禁用单例行为。它叫做cache,但是和缓存毫无关系。

autoSave

Boolean

不推荐。在属性修改时自动保存模型。

autoFetch

Boolean

是否自动获取关联

autoFetchLimit

Number

自动获取关联的深度

cascadeRemove

Boolean

删除实例时是否要删除关联

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • API
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档