代码之家  ›  专栏  ›  技术社区  ›  Vicki Mes

FireStore查询子集合

  •  0
  • Vicki Mes  · 技术社区  · 7 年前

    我在FireStore中有以下结构,

    • 问题[收集]

      • 测验1[文件]

        • 结果[收集]

    我想在问题集合中包含问题,然后,当用户回答问题时,他/她的结果将存储在问题的子集合中,并以用户的字符串id作为id。我的问题是,如何查询以获取用户尚未回答的问题。i、 e未回答的问题是那些没有以用户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()
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   joelm    7 年前

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

    在没有sql的数据库中,这种类型的结构最终会有多个索引。