Похоже, что Firebase Firestore не работает с React - PullRequest
0 голосов
/ 11 декабря 2019

Я потратил 6 часов на эту проблему и все еще не могу обернуться вокруг нее. Я пытаюсь запросить заказы по статусу заказа в Firestore. Но по какой-то причине эта функция не работает, когда я добавляю .where в нем. Я попытался сделать запрос с другими полями, и он тоже не работает.

exports.getOrderHistory = (req, res) => {
  return db
     .collection('orders')
     .where('orderStatus', '==', "Active")  //this line doesnt work 
     .orderBy('createdAt', 'desc')
     .get()
     .then((data) =>{
         let orders =[];
         data.forEach((doc)=>{
          orders.push(doc.data()

             );
         })
         return res.json(orders)
     })
     .catch((err) =>{
        console.error(err)
        res.status(500).json({error:err.code})
    })
}

Однако я использовал его для получения токена аутентификации из коллекции "user", и он прекрасно работает.

  let idToken;
  if (
    req.headers.authorization &&
    req.headers.authorization.startsWith("Bearer ")
  ) {
    idToken = req.headers.authorization.split("Bearer ")[1];
  } else {
    console.error("No token found");
    return res.status(403).json({ error: "Unauthorised" });
  }

  admin
    .auth()
    .verifyIdToken(idToken)
    .then(decodedToken => {
      req.user = decodedToken;
      return db
        .collection("users")
        .where("userId", "==", req.user.uid) // it works fine here
        .limit(1)
        .get();
    })
    .then(data => {
      req.user.handle = data.docs[0].data().handle;
      return next();
    })
    .catch(err => {
      console.err("Error while verifying token", err);
      return res.status(403).json(err);
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...