我正在为我的 node.js 项目使用 objection.js ORM。一切都很好,我想在实际将数据保存到 PostGres 数据库表中之前 trim 所有字段。我还在一些项目中使用了 mongoose,它允许在模型中定义 {trim: true}。
我正在添加一个示例模型代码以供引用:
// @flow
import Model from './Model';
import Transaction from './Transaction';
import dbMap from './dbMap';
export default class ClaimCode extends Model {
amount: number;
claimId: number;
code: string;
codeDate: Date;
presentOnAdmission: string;
throughDate: Date;
claimCodeTypeId: number;
static tableName = 'claim_code';
}
dbMap(ClaimCode, {});
我们有办法在反对 js 模型中做同样的事情吗?
最佳答案
我认为您应该能够创建基础模型并覆盖 $formatDatabaseJson(json)
方法,该方法可能会遍历所有字符串字段并在保存之前 trim 它们(http://vincit.github.io/objection.js/#_s_formatdatabasejson)。
class YourBaseModel extends Model {
$formatDatabaseJson(json) {
json = super.$formatDatabaseJson(json);
// trim here all strings too before returning json...
return json;
}
}
如果你想在创建模型时已经 trim 值,例如从 HTTP 请求中读取的数据,覆盖 $parseJson()
可能会更好。
关于javascript - 在 nodejs 中的 postgres 中保存记录之前,对象 js 模型字段数据 trim ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885587/