问题描述
假设我在 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 次?处理这种情况的最佳解决方案是什么?