orm2 中文文档 2. 设置
译者:飞龙
来源:Settings
设置用于储存键值对。设置对象是orm
(默认值)上的实例,之后会为每个db
连接和每个定义过的Model
建立快照。所以orm.settings
上的更改只会作用于更改之后建立的连接,而db.settings
会作用于更改之后定义的模型。
var orm = require("orm");orm.settings.set("some.deep.value", 123);orm.connect("....", function (err, db) {// db.settings is a snapshot of the settings at the moment// of orm.connect(). changes to it don't affect orm.settingsconsole.log(db.settings.get("some.deep.value")); // 123console.log(db.settings.get("some.deep")); // { value: 123 }db.settings.set("other.value", { some: "object" });console.log(db.settings.get("other.value")); // { some: "object" }console.log(orm.settings.get("other.value")); // undefined
});
默认设置的结构是这样的:
var Settings = {properties : {primary_key : "id",association_key : "{name}_{field}",required : false},instance : {cache : true,cacheSaveCheck : true,autoSave : false,autoFetch : false,autoFetchLimit : 1,cascadeRemove : true,returnAllErrors : false},connection : {reconnect : true,pool : false,debug : false}
};
设置 | 描述 |
---|---|
properties.primary_key
|
没有定义id属性的模型中,主键的名称 |
properties.association_key
|
关联键的属性名称(例如user_id )
|
properties.required
|
属性是否拥有默认行为 |
instance.cache
|
实例是否应该被缓存 (并不是真的缓存,和单例模式相关) |
instance.cacheSaveCheck
|
被缓存的对象是否应该从缓存中返回 (不要修改这个设置,除非你知道自己在做什么) |
instance.autoSave
|
如果开启的话,修改实例的任何属性时会自动保存 |
instance.autoFetch
|
是否需要自动获取关联 |
instance.autoFetchLimit
|
如果开启了自动获取关联,这个设置是获取关联的深度 |
instance.cascadeRemove
|
删除实例时是否要删除关联 |
instance.returnAllErrors
|
如果开启,实例保存时会记录下所有的错误并以数组形式返回,而不是遇到第一个错误就中止并返回 |
connection.reconnect
|
连接失效时是否尝试重新连接 |
connection.pool
|
是否使用驱动带有的连接池(如果支持的话) |
connection.debug
|
向控制台打印带颜色的查询信息 |
orm2 中文文档 2. 设置相关推荐
- Airflow 中文文档:设置配置选项
第一次运行Airflow时,它会在$AIRFLOW_HOME目录中创建一个名为airflow.cfg的文件(默认情况下为~/airflow $AIRFLOW_HOME ). 此文件包含Airflow的 ...
- orm2 中文文档 3.2 模型验证器
译者:飞龙 来源:Model Validations Enforce模块用于验证数据.对于使用以前的验证器的用户,还可以继续使用,它们中的一部分整合到了enforce,剩余部分还没有.推荐你开始使用o ...
- orm2 中文文档 3.1 模型属性
译者:飞龙 来源:Model Properties 模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们(或使用默认设置). 类型 受支持的类型是: text:文本字符 ...
- orm2 中文文档 3. 定义模型
译者:飞龙 来源:Defining Models 在[连接](1. Connecting to Database.md)之后,你可以使用连接对象(db)来定义你的模型.你需要指定模型的名称,一个用于描 ...
- orm2 中文文档 1. 连接到数据库
译者:飞龙 来源:Connecting to Database 在连接之前,你需要一个受支持的驱动.下面是一些测试过的驱动及其版本,把你所需要的加入到package.json中. 驱动 npm 包 版 ...
- orm2 中文文档 8. 聚合
译者:飞龙 来源:Aggregation 如果你需要从一个模型中获取一些聚合值,你可以使用Model.aggregate().下面通过一个例子来展示: Person.aggregate({ surna ...
- orm2 中文文档 5. 同步和删除模型
译者:飞龙 来源:Syncing and dropping models 同步是一项功能方法,可以在数据库里为你的模型和关联创建所需的表来工作.现存的表并不会被替换,它们只会在不存在的时候被创建. 同 ...
- orm2 中文文档 4.3 extendsTo(一对一关系)
译者:飞龙 来源:extendsTo 你可能想把可选的属性分割到另一个表中.每个扩展都会是一个新的表,其中每一行的唯一标识符是主模型实例的id. 例如: var Person = db.define( ...
- orm2 中文文档 4.2 hasMany(多对多关系)
译者:飞龙 来源:hasMany hasMany 是多对多的关系(包括连接表). 例如:Patient.hasMany('doctors', Doctor, { why: String }, { re ...
最新文章
- 关于static修饰符
- 深度学习100例 - 常见错误 及 处理办法
- 怎样用springboot开发cs_springboot开发之配置自定义的错误界面和错误信息
- JavaScript实现返回数字的二进制表示中使用的位数bitLength算法(附完整源码)
- 软件工程---团队作业四
- Spark笔记:复杂RDD的API的理解(下)
- android Calendar使用 年月日时分秒
- 前17名最喜欢的操作系统黑客(2017年名单)
- python base64 编解码,转换成Opencv,PIL.Image图片格式
- 智能机械按摩椅的改进设计
- c语言程序设计100题,编程题(c语言编程题库100题)
- 《薄世宁医学通识讲义》笔记
- java 日期 英文月份_java日期月份转英文格式
- 了解RecyclerView的分割线
- 机房交换机网络测试软件,国内IDC机房带宽测试工具和方案
- 【SAP PO】SAP PO 简介:XI、PI、PO的关系与区别
- python-机器学习-随机森林算法
- mysql如何用_如何使用mysql
- 汽车倒车雷达系统的设计与实现(一)
- 飞桨中国行——生产制造专场