У меня есть запрос, который я подготовил и над которым работаю.Этот запрос работает в Psequel и PgAdmin, но не будет работать на моем бэкэнде (узел js). Библиотека, которую я использую с узлом js для postgresql, - это узел postgres или 'pg' https://node -postgres.com / https://www.npmjs.com/package/pg Мне кажется очень странным, что он отлично работает с другими приложениями, но не работает в моем бэкэнде.Пожалуйста, ознакомьтесь с информацией, предоставленной ниже Высокий уровень, что здесь происходит;Я проверяю, являются ли пользователи друзьями или нет, проверяя значение «1», затем возвращая значение «истина» или «ложь» на основе этого (открыто для предложений), после чего я продолжаю находить процедуру тренировки пользователей, выполняя второй запрос (не работает) Я ожидаю получить строки, которые, как я знаю, связаны с моим пользователем, как и другие приложения, которые я использовал.Фактический результат этого запроса: '[]'
getRoutine(username, user_id) {
return new Promise(function (resolve, reject) {
const client = new pg.Client(connectionString);
client.connect()
.then(() => console.log('connected'))
.catch(err => console.error('connection error', err.stack))
const text = "SELECT EXISTS(SELECT relationship_status FROM relationships FULL OUTER JOIN users ON users.user_id = relationships.user_one_id OR users.user_id = relationships.user_two_id WHERE users.username = $1 OR users.user_id = $2 AND relationships.relationship_status = 1)"
const values = [username, user_id]
const query = client.query(text, values)
.then(res => {
if (res.rows[0].exists === true) {
// find way to do this in single query
const text = "SELECT routine.workout, routine.personal_record, routine.workout_id, routine.upload_date FROM routine LEFT JOIN users ON users.user_id = routine.owner_id WHERE users.username = $1"
const values = [username]
const query = client.query(text, values)
.then(data => {
console.log(data.fields)
resolve(data.rows)
})
.catch(error => {
console.log(error)
reject();
})
} else {
reject();
}
})
.catch(error => {
console.log(error)
reject();
})
});
}