В приведенном ниже коде, когда я удаляю .where () из запроса, запрос работает, и я получаю свои комментарии. Однако, когда я использую запрос where, чтобы попытаться найти комментарий, связанный с идентификатором поста (scream), я получаю пустой массив. Я использую .where () неправильно? Любая помощь будет оценена.
exports.getScream = (req, res) => {
let screamData = {};
db.doc(`/screams/${req.params.screamId}`)
.get()
.then((doc) => {
screamData = doc.data();
screamData.screamId = doc.id;
return db
.collection('comments')
.where('screamId', '==', screamData.screamId) //query that doesnt seem to be working
.orderBy('createdAt', 'desc')
.get();
})
.then((data) => {
screamData.comments = [];
data.forEach((doc) => {
screamData.comments.push(doc.data());
});
return res.json(screamData);
})
.catch((err) => {
console.error(err);
res.status(500).json({ error: err.code });
});
}
Модель документа Firestore
{
screamId: “id of post commenting on”,
body: “content of comment”,
userHandle: “username of comment”
}