Tôi đang cố gắng để Javascript đọc / ghi vào cơ sở dữ liệu PostgreSQL. Tôi tìm thấy dự án này trên github. Tôi đã có thể lấy mã mẫu sau để chạy trong nút.
var pg = require('pg'); //native libpq bindings = `var pg = require('pg').native`
var conString = "tcp://postgres:1234@localhost/postgres";
var client = new pg.Client(conString);
client.connect();
//queries are queued and executed one after another once the connection becomes available
client.query("CREATE TEMP TABLE beatles(name varchar(10), height integer, birthday timestamptz)");
client.query("INSERT INTO beatles(name, height, birthday) values($1, $2, $3)", ['Ringo', 67, new Date(1945, 11, 2)]);
client.query("INSERT INTO beatles(name, height, birthday) values($1, $2, $3)", ['John', 68, new Date(1944, 10, 13)]);
//queries can be executed either via text/parameter values passed as individual arguments
//or by passing an options object containing text, (optional) parameter values, and (optional) query name
client.query({
name: 'insert beatle',
text: "INSERT INTO beatles(name, height, birthday) values($1, $2, $3)",
values: ['George', 70, new Date(1946, 02, 14)]
});
//subsequent queries with the same name will be executed without re-parsing the query plan by postgres
client.query({
name: 'insert beatle',
values: ['Paul', 63, new Date(1945, 04, 03)]
});
var query = client.query("SELECT * FROM beatles WHERE name = $1", ['John']);
//can stream row results back 1 at a time
query.on('row', function(row) {
console.log(row);
console.log("Beatle name: %s", row.name); //Beatle name: John
console.log("Beatle birth year: %d", row.birthday.getYear()); //dates are returned as javascript dates
console.log("Beatle height: %d' %d\"", Math.floor(row.height/12), row.height%12); //integers are returned as javascript ints
});
//fired after last row is emitted
query.on('end', function() {
client.end();
});
Tiếp theo tôi đã cố gắng làm cho nó chạy trên một trang web, nhưng dường như không có gì xảy ra. Tôi đã kiểm tra trên bảng điều khiển Javascript và nó chỉ nói "không yêu cầu xác định."
Vậy "yêu cầu này là gì?" Tại sao nó hoạt động trong nút nhưng không phải trong một trang web?
Ngoài ra, trước khi tôi làm cho nó hoạt động trong nút, tôi phải làm npm install pg
. Nó là về cái gì vậy? Tôi đã xem trong thư mục và không tìm thấy một tập tin pg. Nó đã đặt nó ở đâu và Javascript tìm thấy nó như thế nào?