【问题标题】:Firestore Query Android [duplicate]Firestore查询Android [重复]
【发布时间】:2018-01-09 23:35:13
【问题描述】:

我在firestore中有订单集合,其中有状态字段(字符串),状态字段有那些字符串(待处理,烹饪,煮熟,发货,已交付),我想查询以仅获取那些具有状态(待处理,烹饪)的文档,熟)?

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    没有与 SQL SELECT * FROM Collection WHERE status IN (Pending, Cooking, Cooked) 等效的 Firestore。 Firestore 最接近的是允许范围查询,如Tim shows here。但这只有在值 (Pending, Cooking, Cooked) 在该范围内是连续的情况下才有效。如果不是,您将不得不执行多个查询。

    由于这些值听起来像是流程中的步骤,因此您可以考虑在它们前面加上“步骤编号”:1_Pending, 2_Cooking, 3_Cooked。有了这些,查询一系列步骤变得容易得多。或者,您也可以添加一个额外的 stepNumber 属性,但您必须使其与步骤名称保持同步。

    【讨论】:

    • 那么用Interger值代替字符串会更好吗?
    • 如果这样可以更容易地确保您想要的值在一个范围内,它可能会有所帮助。但在这种情况下,您也可以简单地在字符串前面加上相同的数字 (1_Pending, 2_Cooking, 3_Cooked) 并过滤前缀或添加一个字段(例如步骤)并对其进行过滤。
    • 谢谢。前缀会更好:)
    猜你喜欢
    • 1970-01-01
    • 2021-11-14
    • 2018-05-19
    • 1970-01-01
    • 2018-06-05
    • 2018-05-26
    • 1970-01-01
    • 2020-02-13
    • 2021-05-23
    相关资源
    最近更新 更多