FireStore查询子集合

问题描述 投票:0回答:1

我在FireStore中有以下结构,

  • 问题[收集] 测验1 [文件] 结果[收藏]

我想在问题集中有问题,然后,当用户回答问题时,他/她的结果存储在问题的子集合中,用户的字符串id作为id。我的问题是,我如何查询以获得用户没有回答的问题。即未回答的问题是那些没有用户ID作为他们的id的结果的问题。希望我对此很清楚。 Thanks.FireStore Screenshot

val questionsRef = db.collection("questions")
val query = questionsRef.whereEqualTo(
        questionsRef.document().collection( "results" ).document(App.INSTANCE.appUUIDString), null)
        .limit(50).get()
android firebase kotlin google-cloud-firestore
1个回答
1
投票

一种方法是在用户的记录(或由userId索引的单独集合)中有一个对象,列出他们已经回答的问题,然后查询他们没有回答的问题。 (这需要获取所有问题的列表并删除已回答的问题。)您必须在循环中逐个检索问题。

在no-sql数据库中,您将最终获得此类结构的多个索引。

© www.soinside.com 2019 - 2024. All rights reserved.