2012-02-22 45 views
1

我得到了一個使用節點'pg'從postgres返回的javascript錯誤。我如何訪問此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"} 

請幫忙!

+3

首先,這不是一個有效的JSON對象 – epascarello 2012-02-22 20:05:16

+1

這不是一個有效的JS對象,順便說一句。 (哦,太遲了20秒)=) – 2012-02-22 20:05:39

+1

你是否100%確定這是pg返回的?它看起來不像格式正確的JSON。主要是第一個方括號不應該在那裏。 http://www.json.org/ Ops,太遲;) – mck 2012-02-22 20:06:25

回答

2

問題的答案非常簡單。

error.toString(); 

誤報。

+0

如果有人想回答這個問題,我會接受他們的答案。 – bluekeys 2012-02-22 20:29:22

+0

自己的回答很好。相反,如果你願意,我們可以刪除整個問題。 – jcolebrand 2012-02-22 21:05:32

+0

我會把它留在那裏,並在幾天內接受我自己的答案。 – bluekeys 2012-02-23 07:33:21