簡體   English   中英

Node JS:在postgres查詢后選擇json數據

[英]Node JS : Select json data after postgres query

我試圖從我的postgres數據庫中獲取一些數據。 但是,當我嘗試從postgres結果獲取json數據時,我總是會收到錯誤消息。

這是我的Node JS代碼:

pg.connect(connectionString, function(err, client, done) {
var pubKey;
var query1 = client.query("SELECT * FROM users where userid=($1) ORDER BY userid ASC;", [umschlagInnen.sourceUserID]);

    query1.on('row', function(row) {
        pubKey = row;
    });

    console.log(pubkey.pubkey);
}

umschlagInnen.sourceUserID為“ 2”

我的“用戶”姿勢表如下所示:

users(userID int PRIMARY KEY, saltMaster varchar(255) not null, privKeyEnc varchar(2048) not null, pubKey VARCHAR(2048) not null)

錯誤:

ReferenceError: pubkey is not defined

你能找到我的任何錯誤嗎?

首先,您的pubKey變量的大小寫有誤:

pg.connect(connectionString, function(err, client, done) {
  var pubKey;
  var query1 = client.query("SELECT * FROM users where userid=($1) ORDER BY userid ASC;", [umschlagInnen.sourceUserID]);

  query1.on('row', function(row) {
    pubKey = row;
  });

  console.log(pubkey.pubkey); // broken version
  console.log(pubKey.pubKey); // fixed version
}

但請記住,該console.log()將在查詢回調函數執行之前執行,因此pubKey仍然無效。 將console.log()移到回調函數中,它應該包含您的數據。

嘗試這個:

pg.connect(connectionString, function(err, client, done) {
  // var pubKey; <-- don't need this variable anymore
  var query1 = client.query("SELECT * FROM users where userid=($1) ORDER BY userid ASC;", [umschlagInnen.sourceUserID]);

  query1.on('row', function(row) {
    console.log(row.pubKey);
    // do something with the data here ...
  });

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM