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

orm2 中文文档 2. 设置

作者头像
ApacheCN_飞龙
发布2022-11-27 15:59:44
1920
发布2022-11-27 15:59:44
举报
文章被收录于专栏:信数据得永生信数据得永生

译者:飞龙 来源:Settings

设置用于储存键值对。设置对象是orm(默认值)上的实例,之后会为每个db连接和每个定义过的Model建立快照。所以orm.settings上的更改只会作用于更改之后建立的连接,而db.settings会作用于更改之后定义的模型。

代码语言:javascript
复制
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
});

默认设置的结构是这样的:

代码语言:javascript
复制
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

向控制台打印带颜色的查询信息

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档