微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于 Firestore 中的定价,对文档的查询如何工作?

如何解决关于 Firestore 中的定价,对文档的查询如何工作?

假设我在 Firestore 中有一个集合,用于存储我的应用程序中所有用户的“故事”,并且假设我在其中保存了一千个故事,但我希望每个用户在他/她单击某个按钮时只检索他/她自己的故事(不是全部)。我实际上是通过在我的应用程序中使用此代码来做到这一点的

db.collection("stories")
        .whereEqualTo("userID",uidOfCurrentUser)
        .get()
        .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {
                    for (QueryDocumentSnapshot document : task.getResult()) {
                        Log.d(TAG,document.getId() + " => " + document.getData());
                    }
                } else {
                    Log.d(TAG,"Error getting documents: ",task.getException());
                }
            }
        });

我担心的是:Firebase 会将此循环视为对每个文档的读取吗?换句话说,每次用户单击该按钮时,他们会向我收取 1000 次阅读费用吗? (如果是这样的话,那就太可怕了)

假设用户在这 1000 个故事中只有 2 个文档,他们会将其计为 2 次阅读还是 1000 次?处理这种情况的最佳解决方案是什么?

解决方法

对于 firestore,您只需为接收或更改/删除的数据付费。数据库中有多少并不重要。

如果您的数据库中有 1000 个故事,但您的 query 只会给您 2 个,您只需为这 2 个付费。

您可以阅读更多相关信息here

enter image description here

除了自动查询之外,您还应该检查您的查询是否需要创建和索引。您可以阅读有关 here 的更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?