我在FireStore中有以下结构,
问题[收集]
测验1 [文件]
我想在问题集中有问题,然后,当用户回答问题时,他/她的结果存储在问题的子集合中,用户的字符串id作为id。我的问题是,我如何查询以获得用户没有回答的问题。即未回答的问题是那些没有用户ID作为他们的id的结果的问题。希望我对此很清楚。感谢。FireStore Screenshot
val questionsRef = db.collection("questions")
val query = questionsRef.whereEqualTo(
questionsRef.document().collection( "results" ).document(App.INSTANCE.appUUIDString), null)
.limit(50).get()
答案 0 :(得分:1)
一种方法是在用户记录中创建一个对象(或由userId索引的单独集合),列出他们已回答的问题,然后查询他们没有回答的问题。 (这需要获取所有问题的列表并删除已回答的问题。)您必须在循环中逐个检索问题。
在no-sql数据库中,最终会有这种结构的多个索引。