Я пытаюсь понять pool.query
и client.query
и различия между ними и когда использовать.
У меня есть экспресс-приложение, которое запускает следующий код в определенной конечной точке.
// am just using params for to a quick setup
router.get("/:username/:password", (req, res) => {
const { username, password } = req.params;
// crypt & gen_salt function from pgcrypto
pool // *** here ***
.query(
` SELECT username, email, password FROM users
WHERE users.username = $1
AND users.password = crypt($2, password)
`, [username, password]
)
.then(user => {
console.log("Users ==>", user.rows);
const userCount = user.rows.length;
if (userCount < 1) {
res.status(204).json({ userFound: "No User Found" });
} else {
res.status(200).json(user.rows[0]);
}
})
.catch(err => console.log(err));
});
// am just using params for to a quick setup
router.get("/:username/:password", (req, res) => {
const { username, password } = req.params;
// crypt & gen_salt function from pgcrypto
client // *** here ***
.query(
` SELECT username, email, password FROM users
WHERE users.username = $1
AND users.password = crypt($2, password)
`, [username, password]
)
.then(user => {
console.log("Users ==>", user.rows);
const userCount = user.rows.length;
if (userCount < 1) {
res.status(204).json({ userFound: "No User Found" });
} else {
res.status(200).json(user.rows[0]);
}
})
.catch(err => console.log(err));
});
// index.js (starting point of application)
require("dotenv").config({ debug: true });
const app = require("./middleware");
// Port Listener
app.listen(process.env.PORT, () =>
console.log(
"Server running on PORT <======= " + process.env.PORT + " =======>"
)
);
Я нажал на конечные точки API, и оба способа возвращают один и тот же результат, и я прочитал, что лучше использовать пул, а не создание экземпляра нового клиента, но я честно не уверен, верно ли это, поскольку Node должен сохранять тот же экземпляр клиента из-за способа его экспорта, поскольку он находится за пределами моей текущей базы знаний. Чтения, которые я нашел по этой теме, были довольно редкими, поэтому, если у кого-нибудь есть какие-либо статьи, которые они порекомендуют, то я также буду рад их проверить.