BookshelfJS:所有整数都作为字符串返回 [pg]
BookshelfJS: all ints are being returned as strings [pg]
bool
似乎按预期工作,json
类型(postgres)也是如此,但我所有的 id 列都填充为字符串(破坏了前端代码)
有没有办法a.修复它,或者 b。告诉书架那个字段是一个整数?
更新
应要求,这里有一些代码片段。我只是用 node/bookshelf 试水,所以这不是复杂的代码;它主要是在入门指南之外。该数据库是我们已经使用了 2 年左右的现有数据库,id
cols 绝对是 int
所有表
一个很好的例子,日历和
var Appointment = bs.Model.extend({
tableName: 'ec__appointments',
});
var Calendar = bs.Model.extend({
tableName: 'ec__calendars',
appointments: function() {
return this.hasMany(Appointment, 'calendar_id');
},
});
对于这个,日历 ID 下降为 int
,但是当我 fetch({withRelated:['appointments']})
时,appointment.id
是一个字符串。
{
"calendars": [
{
"id": 2,
"name": "Default Calendar",
"created_at": "2015-03-06T09:35:58.000Z",
"updated_at": "2016-03-23T03:28:07.000Z",
"appointments": [
{
"id": "107",
"calendar_id": "2",
"name": "Test",
"starts_at": null,
"ends_at": null,
"created_at": "2015-05-29T23:13:20.000Z",
"updated_at": "2015-05-29T23:13:20.000Z",
},
您可以使用以下代码解决此问题:
var pg = require('pg');
pg.types.setTypeParser(20, 'text', parseInt);
bool
似乎按预期工作,json
类型(postgres)也是如此,但我所有的 id 列都填充为字符串(破坏了前端代码)
有没有办法a.修复它,或者 b。告诉书架那个字段是一个整数?
更新
应要求,这里有一些代码片段。我只是用 node/bookshelf 试水,所以这不是复杂的代码;它主要是在入门指南之外。该数据库是我们已经使用了 2 年左右的现有数据库,id
cols 绝对是 int
所有表
一个很好的例子,日历和
var Appointment = bs.Model.extend({
tableName: 'ec__appointments',
});
var Calendar = bs.Model.extend({
tableName: 'ec__calendars',
appointments: function() {
return this.hasMany(Appointment, 'calendar_id');
},
});
对于这个,日历 ID 下降为 int
,但是当我 fetch({withRelated:['appointments']})
时,appointment.id
是一个字符串。
{
"calendars": [
{
"id": 2,
"name": "Default Calendar",
"created_at": "2015-03-06T09:35:58.000Z",
"updated_at": "2016-03-23T03:28:07.000Z",
"appointments": [
{
"id": "107",
"calendar_id": "2",
"name": "Test",
"starts_at": null,
"ends_at": null,
"created_at": "2015-05-29T23:13:20.000Z",
"updated_at": "2015-05-29T23:13:20.000Z",
},
您可以使用以下代码解决此问题:
var pg = require('pg');
pg.types.setTypeParser(20, 'text', parseInt);