Как получить данные в коллекции из отфильтрованного документа в Firestore - PullRequest
1 голос
/ 25 февраля 2020
    let db = admins.firestore();
    let filter = JSON.stringify(req.body.foodid);
    **db.collection("AllFood").where("foodid","==",filter).collection("Ingredient")**.get().then(foodmenus => {res.send('{"STATUS":"SUCCESS","data":' + JSON.stringify(foodmenus.docs.map(doc => doc.data())) + '}');

Как получить коллекцию ингредиентов, относящуюся к «foodid» документа в коллекции «AllFood».

1 Ответ

1 голос
/ 25 февраля 2020

Я предполагаю, что ваш запрос возвращает уникальный документ. Так как запросы в Firestore являются мелкими, вам необходимо сначала получить Документ, соответствующий запросу, а затем запросить все Документы во вложенной коллекции Ingredient этого Документа следующим образом:

let db = admin.firestore();
let filter = JSON.stringify(req.body.foodid);
db.collection("AllFood").where("foodid", "==", filter)
    .get()
    .then(snapshot => {
        const docSnapshot = snapshot.docs[0];  //The first (and unique) doc returned by the query
        return docSnapshot.ref.collection("Ingredient").get();
    })
    .then(foodmenus => {
        res.send('{"STATUS":"SUCCESS","data":' + JSON.stringify(foodmenus.docs.map(doc => doc.data())) + '}');
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...