译者:飞龙

来源: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. 设置相关推荐

  1. Airflow 中文文档:设置配置选项

    第一次运行Airflow时,它会在$AIRFLOW_HOME目录中创建一个名为airflow.cfg的文件(默认情况下为~/airflow $AIRFLOW_HOME ). 此文件包含Airflow的 ...

  2. orm2 中文文档 3.2 模型验证器

    译者:飞龙 来源:Model Validations Enforce模块用于验证数据.对于使用以前的验证器的用户,还可以继续使用,它们中的一部分整合到了enforce,剩余部分还没有.推荐你开始使用o ...

  3. orm2 中文文档 3.1 模型属性

    译者:飞龙 来源:Model Properties 模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们(或使用默认设置). 类型 受支持的类型是: text:文本字符 ...

  4. orm2 中文文档 3. 定义模型

    译者:飞龙 来源:Defining Models 在[连接](1. Connecting to Database.md)之后,你可以使用连接对象(db)来定义你的模型.你需要指定模型的名称,一个用于描 ...

  5. orm2 中文文档 1. 连接到数据库

    译者:飞龙 来源:Connecting to Database 在连接之前,你需要一个受支持的驱动.下面是一些测试过的驱动及其版本,把你所需要的加入到package.json中. 驱动 npm 包 版 ...

  6. orm2 中文文档 8. 聚合

    译者:飞龙 来源:Aggregation 如果你需要从一个模型中获取一些聚合值,你可以使用Model.aggregate().下面通过一个例子来展示: Person.aggregate({ surna ...

  7. orm2 中文文档 5. 同步和删除模型

    译者:飞龙 来源:Syncing and dropping models 同步是一项功能方法,可以在数据库里为你的模型和关联创建所需的表来工作.现存的表并不会被替换,它们只会在不存在的时候被创建. 同 ...

  8. orm2 中文文档 4.3 extendsTo(一对一关系)

    译者:飞龙 来源:extendsTo 你可能想把可选的属性分割到另一个表中.每个扩展都会是一个新的表,其中每一行的唯一标识符是主模型实例的id. 例如: var Person = db.define( ...

  9. orm2 中文文档 4.2 hasMany(多对多关系)

    译者:飞龙 来源:hasMany hasMany 是多对多的关系(包括连接表). 例如:Patient.hasMany('doctors', Doctor, { why: String }, { re ...

最新文章

  1. 关于static修饰符
  2. 深度学习100例 - 常见错误 及 处理办法
  3. 怎样用springboot开发cs_springboot开发之配置自定义的错误界面和错误信息
  4. JavaScript实现返回数字的二进制表示中使用的位数bitLength算法(附完整源码)
  5. 软件工程---团队作业四
  6. Spark笔记:复杂RDD的API的理解(下)
  7. android Calendar使用 年月日时分秒
  8. 前17名最喜欢的操作系统黑客(2017年名单)
  9. python base64 编解码,转换成Opencv,PIL.Image图片格式
  10. 智能机械按摩椅的改进设计
  11. c语言程序设计100题,编程题(c语言编程题库100题)
  12. 《薄世宁医学通识讲义》笔记
  13. java 日期 英文月份_java日期月份转英文格式
  14. 了解RecyclerView的分割线
  15. 机房交换机网络测试软件,国内IDC机房带宽测试工具和方案
  16. 【SAP PO】SAP PO 简介:XI、PI、PO的关系与区别
  17. python-机器学习-随机森林算法
  18. mysql如何用_如何使用mysql
  19. 汽车倒车雷达系统的设计与实现(一)
  20. 飞桨中国行——生产制造专场

热门文章

  1. java 布局管理器_java布局管理器-borderlayout
  2. mysql 多个实例 备份_数据库Mysql备份多个数据库代码实例
  3. 新增成功到编制为空bug_36 个JS 面试题为你助力金九银10
  4. 【绪论】——声呐概述
  5. MPICH C语言接口函数说明
  6. Python--turtle绘图模块讲解
  7. 计算机垃圾回收的过程,计算机体系 – 垃圾收集器
  8. Java API 之 SPI机制
  9. python_16(bootstrap)
  10. docker run 与docker start的区别