gpt4 book ai didi

Node.js、Express 和 Postgres 设计

转载 作者:行者123 更新时间:2023-11-29 12:59:44 25 4
gpt4 key购买 nike

我正在使用 Node.js 和 Express 创建一个 API。我正在使用 Postgres 作为数据库。

我想创建一个“全局对象”,称为 DBConn 或其他名称,我可以从应用程序的任何位置访问它。该对象将具有插入、更新、验证等功能。

Node 和 Express 中的通用架构将如何工作?在 Node 中只实例化它一次并保持与数据库的通信打开是否有意义,还是我应该在每次我想执行数据库操作时实例化它?

最佳答案

这里是您要查找的所有内容,使用 pg-promise :

// Users repository:
var repUsers = function (obj) {
return {
add: function (name) {
return obj.none("insert into users(name) values($1)", name);
},
delete: function (id) {
return obj.none("delete from users where id=$1", id);
}
// etc...
};
};

var options = {
extend: function () {
// extending the protocol:
this.users = repUsers(this);
}
};

var pgp = require('pg-promise')(options);

var cn = "postgres://username:password@host:port/database";

var db = pgp(cn); // your global database instance;

db.users.add("John")
.then(function () {
// success;
})
.catch(function (error) {
// error;
});

这也将自动管理您的数据库连接,您将在整个应用程序中继续使用变量 db

并且设置存储库是可选的,您始终可以使用内联查询。参见 the library详情和more examples .

关于Node.js、Express 和 Postgres 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33794341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com