Firestore本地过滤

Firestore每读取10万次读取配额和价格。 在基于关系的数据库中,我有非常简单的任务,但是对于Firestore而言,这看起来像是开销:

  • 我有Firestore集合的“文章”,每篇文章都有字段“views_by_uids”作为Firebase用户UID的数组
  • 我已经阅读了10万篇文章(简称)
  • 我想为我的UID获取UNREaded文章

我是否真的需要用分页来查询这个100K的参考文章,例如每页50个项目,以便过滤LOCALLY(通过我的弱移动网络发送太多的数据),最后得到UNREaded文章来显示?

编辑:澄清这里是我如何用Kotlin在Android中创建“文章”:

data class Article ( val title: String, val text: String, val ownerUid: String, @ServerTimestamp val creationDate: Date? = null) 

//写满文章到firestore

 val article = Article (title = "test title" text = "test text", ownerUid = FirebaseAuth.getInstance().uid!!) val articleRef = FirebaseFirestore.getInstance() .collection(Article.COLLECTION_NAME) .document() .set(article) .addOnFailureListener { ...just show error } .addOnSuccessListener { ...just show success } 

显示不是由我写的文章列表由FirestoreRecyclerAdapter制作,其中包含以下选项:

 val query = FirebaseFirestore.getInstance() .collection(Article.COLLECTION_NAME) .orderBy("creationDate", Query.Direction.DESCENDING) .limit(ITEMS_PER_QUERY_LIMIT) FirestoreRecyclerOptions.Builder() .setQuery(query, Task::class.java) .build() 

现在我真的不明白如何过滤传入的项目,并只显示其中ownerUid!= FirestoreAuth.getInstance()。uid!
我只是通过项目根LayoutParams隐藏RecyclerView项目 – 疯狂! 🙁

我想我需要自定义适配器EXCLUDE我的文章DocumentSnapshots?
– 在这种情况下,这意味着如果我已经写了100K的文章,我需要通过网络来获得他们所有的只是排除和不显示?