您可以在复合查询中两次使用whereIn条件吗?

时间:2020-07-18 11:37:19

标签: firebase flutter dart google-cloud-firestore

是否可以在Firestore的一个查询中两次使用whereIn?像这样的东西

query.where('venue.id', whereIn: ['11','22','33',]).where('order',whereIn: ['Pending','Preparing']),

1 个答案:

答案 0 :(得分:1)

不,根据文档:

每个查询只能使用in或array-contains-any子句。您不能在同一查询中同时使用inarray-contains-any

如果您有两个whereIn,它还会引发以下错误:

      if (operator == 'in') {
        assert(!hasIn, "You cannot use 'in' filters more than once."); //this error
        hasIn = true;
      }

https://github.com/FirebaseExtended/flutterfire/blob/master/packages/cloud_firestore/cloud_firestore/lib/src/query.dart#L421