假设我在firestore中有一个集合,其中存储了我应用程序中所有用户的“故事”,并且假设我在其中保存了1000个故事,但我希望每个用户在单击某个按钮时只检索他/她自己的故事(而不是所有故事)。实际上,我是通过在我的应用程序中使用此代码来实现的
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());
}
}
});
我关心的是:FielBASE会把这个循环看作每个文档的读取吗?换句话说,每次用户点击该按钮,他们会向我收取1000次阅读费吗如果是这样的话,那就太可怕了)
假设一个用户在这1000个故事中只有2个文档,他们会将其计算为2读还是1000读?处理这种情况的最佳解决方案是什么?
1条答案
按热度按时间s5a0g9ez1#
当涉及firestore时,您将只对接收或更改/删除的数据收费。数据库中有多少并不重要。
如果数据库中有1000个故事,但
query
我只会给你2块钱,你只会为这2块钱付费。你可以在这里了解更多。
您还应该检查您的查询是否需要在自动查询之外添加creating和index。你可以在这里了解更多。