【问题标题】:OrderBy and where query is not working at the same time in firebaseOrderBy 和 where 查询在 firebase 中不能同时工作
【发布时间】:2021-07-13 08:10:02
【问题描述】:

我的 Firestore 中几乎有这种数据结构,并且

我正在使用两个查询 orderBywhere 获取数据,但有两个不工作并给我错误

我正在使用的代码是这样的

 useEffect(() => {
    db.collection("accounts")
      .doc("usama_nj@gmail.com")
      .collection("glasses")
      .where("stock", ">", 0)
      .orderBy("id", "desc")
      .onSnapshot((snapshot) =>
        setGlasses(snapshot.docs.map((doc) => doc.data()))
      );
  }, []);

如果我只使用单个查询 orderBy() 或 where() 则查询有效,但那里查询的组合不能一起工作。

我想要的问题的解决方案是获取库存为greater then zero的数据,并根据id对数据进行排序

【问题讨论】:

    标签: reactjs firebase google-cloud-firestore


    【解决方案1】:

    您需要使用.orderBy("stock").orderBy("id", "desc") 来修复该查询。

    但是,这不会给出您想要的结果。相反,您需要添加一个布尔字段 "hasStock",它与您查询的内容具有相同的含义。

    【讨论】:

    • 你能用例子解释一下吗?我没明白,“hasStock == true”如何工作?还是我必须使用“hasStock”作为orderBy(“hasStock”);?
    猜你喜欢
    • 2020-02-13
    • 2020-02-04
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 2014-10-21
    • 2019-09-07
    • 1970-01-01
    相关资源
    最近更新 更多