Firebase Firestore如何列出授权文件?

时间:2017-11-23 10:33:39

标签: android firebase kotlin firebase-security google-cloud-firestore

我正在尝试创建文档列表。让我们说我有这种结构:

cards
  cardId1
    authorizedUser = someuserid1
  cardId1b
    authorizedUser = someuserid1
 cardId2
    authorizedUser = someuserid2

我想列出" someuserid1"的前两个文件。和#34; someuserid2"的最后一个。最好的方法是什么?我尝试使用安全规则,但它没有工作:

service cloud.firestore {
  match /databases/{database}/documents {
    match /cards/{cardid} {
      allow read, write: if resource.data.authorizedUser == request.auth.uid;
    }
  }
}

这是我的Kotlin代码:

val query = FirebaseFirestore.getInstance()
                    .collection("cards")
                    .limit(50)
val options = FirestoreRecyclerOptions.Builder<Card>()
                .setQuery(query,Card::class.java)
                .build()

adapter = CardFireAdapter(options)

对我在这里失踪的事情有所了解吗?

1 个答案:

答案 0 :(得分:1)

安全规则定义了哪种类型的查询允许

实际过滤仍然必须在您的查询中完成:

val query = FirebaseFirestore.getInstance()
                .collection("cards")
                .whereField("authorizedUser", isEqualTo: "someuserid1")
                .limit(50)