我刚开始学习nodejs-postgres并找到了pg-promise包裹.我阅读了文档和示例,但我不明白我应该在哪里放置初始化代码?我使用Express,我有很多路线.
我必须将整个初始化(包括pg-monitorinit)放到我想要查询db的每个文件中,或者我只需要initalize/configure在server.js中包含它们?
如果我只在server.js中初始化它们应该包含哪些我需要db查询的文件呢?
换一种说法.我不清楚pg-promise和pg-monitor configuration/initalization是全局还是本地行动?
我还不清楚是否需要为每个查询创建一个db变量并结束pgp?
var db = pgp(connection);
db.query(...).then(...).catch(...).finally(**pgp.end**);
Run Code Online (Sandbox Code Playgroud) 我正在创建一个用户可以创建问题的应用程序,而其他人可以对其进行upvote/downvote.
以下是我的sql架构的一部分:
CREATE TABLE "questions" (
id SERIAL,
content VARCHAR(511) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
CONSTRAINT pk_question PRIMARY KEY (id)
);
CREATE TABLE "votes" (
id SERIAL,
value INT,
question_id INT NOT NULL,
CONSTRAINT pk_vote PRIMARY KEY (id),
CONSTRAINT fk_question_votes FOREIGN KEY (question_id) REFERENCES questions (id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
我想要的是Postgres给我的每个问题都有一系列的投票,像这样:
[{ // a question
id: 1,
content: 'huh?',
votes: [{ // a vote
id: 1,
value: 1
}, …Run Code Online (Sandbox Code Playgroud)