PostgresDB Casuing Nodejs приложение, чтобы повесить - PullRequest
0 голосов
/ 29 сентября 2018

Я недавно перешел с MySQL на PostgresDB для моего приложения node.js.Вот мой (index) файл app.js для подключения к БД и выполняемые запросы.

    const {Pool, Client} = require('pg');
const client = new Pool({
    user: 'postegres',
    host: 'localhost',
    database: 'Mydb',
    password: 'pass',
    port: 5432,
})

app.get('/', function(req, res) {
    client.connect();
    var sql = "SELECT COUNT(*) as total FROM Reviews.eatingReviews";
    client.query(sql, function(err, result){
        if (err) throw err;
        eatTotalReviews = result[0].total;
        var sql2 = "SELECT COUNT(*) as total2 FROM Reviews.guideReviews"
        client.query(sql2, function(err, result){
            if (err) throw err;
            guideTotalReviews = result[0].total2;
            res.render('guides',
            {eatTotalReviews: eatTotalReviews,
                guideTotalReviews:guideTotalReviews});
        });
    });
  client.end();
});

Мое приложение отлично работало с MySQL.Я переключился и теперь завис при маршрутизации на любую страницу с запросом к БД.Мой pgAdmin настроен для прослушивания на фиксированном порту 5432, как рекомендовано.Я проверил свои пароли, чтобы убедиться, что они верны.Мой журнал pgadmin гласит: «Код 400: синтаксис неправильного запроса сообщения», страница просто не загружается.Кто-нибудь может направить меня туда, где я могу пойти не так?Буду очень признателен за помощь! Что не так с моим синтаксисом?

Вот ссылка на документацию по post.gs для node.js

https://node -postgres.com / features /подключение

, в котором я следовал!

1 Ответ

0 голосов
/ 29 сентября 2018

Вы не получите никакого результата, потому что он client.end() запускается до функции обратного вызова client.query.

. Вы должны использовать способ await или поставить client.end() в обратном вызове client.query.

Официальные примеры

...