Я использую Express и SDK администратора базы данных Firebase в реальном времени для управления базой данных. Мне нужно получить все билеты, статус которых pending
или open
, от зарегистрированного пользователя, но я не уверен, как получить эти данные, и я не нахожу решение в документации. В SQL будет что-то вроде:
SELECT *
FROM tickets as t
INNER JOIN users as u
WHERE t.owner = u.id
AND (
status = 'pending'
OR status = 'open'
);
На случай, если вам понадобится какой-то код, чтобы понять, о чем я говорю, вот что я уже пробовал:
router.post('/', async (req: Request, res: Response) => {
const existingRef = database.ref('tickets')
.orderByChild('owner')
.equalTo(req.user.key)
.orderByChild('status')
.equalTo('open')
.orderByChild('status')
.equalTo('pending);
const existingSnapshot = await existingRef.on('child_added');
if (existingSnapshot.val() !== null) {
return res.json(existingSnapshot.val());
}
}
Предыдущий код вернет билеты, чей статус pending
и open
, что не имеет смысла, поскольку на тикет должен быть только один статус.
Итак, что должно Я делаю? Заранее спасибо