资讯专栏INFORMATION COLUMN

orm2 中文文档 2. 设置

shiguibiao / 2383人阅读

摘要:译者飞龙来源设置用于储存键值对。设置对象是默认值上的实例,之后会为每个连接和每个定义过的建立快照。

译者:飞龙

来源: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.settings

    console.log(db.settings.get("some.deep.value")); // 123
    console.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 向控制台打印带颜色的查询信息

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/17510.html

相关文章

  • orm2 中文文档 3.1 模型属性

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

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

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

    zhiwei 评论0 收藏0

发表评论

0条评论

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