博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
orm2 中文文档 3. 定义模型
阅读量:6430 次
发布时间:2019-06-23

本文共 1202 字,大约阅读时间需要 4 分钟。

译者:

来源:

在连接之后,你可以使用连接对象(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 删除实例时是否要删除关联

转载地址:http://yciga.baihongyu.com/

你可能感兴趣的文章
前序和中序转换成二叉树
查看>>
ios数据存储——数据库:SQlite3以及第三方库FMDB
查看>>
Python-ORM实战
查看>>
vector iterators incompatible 删除map,list中元素时,应注意的问题
查看>>
CSS简介
查看>>
【转】技术人员在大公司能学到什么
查看>>
结构体位制 中存在 有符号 与 无符号 -- C
查看>>
Servlet深入学习,规范,理解和实现(中)——深入理解Tomcat(一)
查看>>
ComputeColStats UDF中 近似算法的介绍(续)
查看>>
angular2 里父子组件传值的坑
查看>>
OO_多线程电梯_单元总结
查看>>
HH的项链
查看>>
oc语法和c语法的一点区别 oc
查看>>
TCP/IP网络编程系列之二(初级)
查看>>
poj2886 Who Gets the Most Candies?
查看>>
linux命令(6/11)--修改文件的用户组chgrp和文件所有者chown
查看>>
可能引起「We Were Unable to Load Disqus」错误的一种情况分析
查看>>
MyEclipse加载项目时 出现"building workspace has encountered a problem"错误
查看>>
关于IE8下media query兼容的解决方案探讨
查看>>
python 异步IO
查看>>