next.js 与查询一起使用Firebase Firestore时使用错误

1hdlvixo  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(86)

我正在用Next JS 13和firebase构建一个电子商务应用程序。并且有一个页面来管理帖子。此页面只显示用户的帖子。目前我有4个文件在我的文章集。而我目前登录的凭据没有帖子。然而,为此读取的文档被计为6个文档读取。我使用NextAuth和firebase作为适配器。我正在用Next Auth检查会话状态,所以如果这对读取有影响。
这就是我在代码中所做的。

export default function ManageListing(){

  const { data: session, status } = useSession();
 const getData = async () => {
    if (status == "authenticated") {
      const constraints = [];
      constraints.push(where("posetedBy", "==", session?.user.email));

      constraints.push(limit(10));
      const livings = collection(db, "posts");
      let q = query(livings, ...constraints);

      const qSnapshot = await getDocs(q);

      const dataQ = qSnapshot.docs.map((doc) => ({
        ...doc.data(),
        id: doc.id,
      }));

      setDatas(dataQ);
    }
  };

  useEffect(() => {
    setLoader(true);

    setTimeout(() => {
      console.log(datas.length);
      if (filled == false) {
        getData();
      }
    }, 1000);
  }, [status == "authenticated"]);

}

正如我上面提到的我登录的帐户,我没有发布任何东西,所以返回应该是空的。但Firebase正在考虑把它作为一本读物。即使它将其计数为读取,它也应该是集合中存在的文档的数量,即4。但是我从Firebase控制台得到的读数有时是6或4或8或23或12…为什么会发生这种情况?
NB.我的firebase控制台没有打开,只有使用部分,它对读取没有影响。

krugob8w

krugob8w1#

将其作为社区wiki发布,以便其他人可以从中受益。
正如@Doug史蒂文森所说:
如果您认为控制台报告的内容有问题,而问题不在您的代码,那么Stack Overflow对您没有太大帮助。Contact Firebase直接支持并解释产品做错了什么。作为志愿者,我们只能帮助您使用您提供的代码。
如果你有一个明确定义的bug(有一个最小的、完整的和可验证的示例),不是特定于你的项目,请在这里归档。
除此之外,您还可以在此link中提交错误。

相关问题