【发布时间】:2012-03-13 05:02:14
【问题描述】:
我收到一个使用节点 'pg' 从 postgres 返回的 javascript 错误。
这是产生错误的代码
对象是如何生成的。
function storeDeviceState(ingres_id, info) {
var deviceId;
var insertDevice = client.query({
text: "INSERT INTO devices (serialNumber, imeiNumber) VALUES ($1, $2)",
values: [info.serialNumber, info.imeiNumber]
}, function (error, results) {
if (error) {
// [error: duplicate key value violates unique constraint "devices_serialnumber_key"
console.log(error);
} else {
deviceId = results.rows[0].id;
console.log(results);
}
});
}
下面是我在控制台中看到的console.log(error);结果的复制和粘贴
{ [error: duplicate key value violates unique constraint "devices_serialnumber_key"]
length: 130,
name: 'error',
severity: 'ERROR',
code: '23505',
detail: undefined,
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
file: 'nbtinsert.c',
line: '300',
routine: '_bt_check_unique' }
这是我尝试过的,
error[0];
error[0].error;
error.error;
例如,我可以通过
访问代码error.code;
这是 JSON.stringify 在对象上的结果。
{"length":130,"name":"error","severity":"ERROR","code":"23505","file":"nbtinsert.c","line":"300","routine":"_bt_check_unique"}
请帮忙!
【问题讨论】:
-
首先,这不是一个有效的 JSON 对象
-
那不是一个有效的 JS 对象,顺便说一句。 (哦,晚了 20 秒)=)
-
你 100% 确定这是 pg 返回的吗?它看起来不像格式正确的 JSON。主要是第一个方括号不应该在哪里。 json.org 操作,太晚了 ;)
-
这看起来好像服务器端在尝试生成 JavaScript (JSON) 对象时出错了。
-
@Ege,问题的答案是使用
error.toString();lol!
标签: javascript json postgresql node.js