@@ -1271,24 +1271,114 @@ - (void)averageAggregateQuery {
12711271}
12721272
12731273- (void )multiAggregateCollection {
1274- // [START multi_aggregate_collection]
1275- FIRQuery *query = [self .db collectionWithPath: @" cities" ];
1276- FIRAggregateQuery *aggregateQuery = [query aggregate: @[
1277- [FIRAggregateField aggregateFieldForCount ],
1278- [FIRAggregateField aggregateFieldForSumOfField: @" population" ],
1279- [FIRAggregateField aggregateFieldForAverageOfField: @" population" ]]];
1280- [aggregateQuery aggregationWithSource: FIRAggregateSourceServer
1281- completion: ^(FIRAggregateQuerySnapshot *snapshot,
1282- NSError *error) {
1283- if (error != nil ) {
1284- NSLog (@" Error fetching aggregate: %@ " , error);
1285- } else {
1286- NSLog (@" Count: %@ " , [snapshot valueForAggregateField: [FIRAggregateField aggregateFieldForCount ]]);
1287- NSLog (@" Sum: %@ " , [snapshot valueForAggregateField: [FIRAggregateField aggregateFieldForSumOfField: @" population" ]]);
1288- NSLog (@" Avg: %@ " , [snapshot valueForAggregateField: [FIRAggregateField aggregateFieldForAverageOfField: @" population" ]]);
1289- }
1290- }];
1291- // [END multi_aggregate_collection]
1274+ // [START multi_aggregate_collection]
1275+ FIRQuery *query = [self .db collectionWithPath: @" cities" ];
1276+ FIRAggregateQuery *aggregateQuery = [query aggregate: @[
1277+ [FIRAggregateField aggregateFieldForCount ],
1278+ [FIRAggregateField aggregateFieldForSumOfField: @" population" ],
1279+ [FIRAggregateField aggregateFieldForAverageOfField: @" population" ]]];
1280+ [aggregateQuery aggregationWithSource: FIRAggregateSourceServer
1281+ completion: ^(FIRAggregateQuerySnapshot *snapshot,
1282+ NSError *error) {
1283+ if (error != nil ) {
1284+ NSLog (@" Error fetching aggregate: %@ " , error);
1285+ } else {
1286+ NSLog (@" Count: %@ " , [snapshot valueForAggregateField: [FIRAggregateField aggregateFieldForCount ]]);
1287+ NSLog (@" Sum: %@ " , [snapshot valueForAggregateField: [FIRAggregateField aggregateFieldForSumOfField: @" population" ]]);
1288+ NSLog (@" Avg: %@ " , [snapshot valueForAggregateField: [FIRAggregateField aggregateFieldForAverageOfField: @" population" ]]);
1289+ }
1290+ }];
1291+ // [END multi_aggregate_collection]
1292+ }
1293+
1294+ - (void )orQuery {
1295+ // [START or_query]
1296+ FIRCollectionReference *collection = [self .db collectionWithPath: @" cities" ];
1297+ FIRQuery *query = [collection queryWhereFilter: [FIRFilter andFilterWithFilters: @[
1298+ [FIRFilter filterWhereField: @" state" isEqualTo: @" CA" ],
1299+ [FIRFilter orFilterWithFilters: @[
1300+ [FIRFilter filterWhereField: @" capital" isEqualTo: @YES ],
1301+ [FIRFilter filterWhereField: @" population" isGreaterThanOrEqualTo: @1000000 ]
1302+ ]]
1303+ ]]];
1304+ // [END or_query]
1305+ }
1306+
1307+ - (void )orQueryDisjunctions {
1308+ FIRCollectionReference *collection = [self .db collectionWithPath: @" cities" ];
1309+
1310+ // [START one_disjunction]
1311+ [collection queryWhereField: @" a" isEqualTo: @1 ];
1312+ // [END one_disjunction]
1313+
1314+ // [START two_disjunctions]
1315+ [collection queryWhereFilter: [FIRFilter orFilterWithFilters: @[
1316+ [FIRFilter filterWhereField: @" a" isEqualTo: @1 ],
1317+ [FIRFilter filterWhereField: @" b" isEqualTo: @2 ]
1318+ ]]];
1319+ // [END two_disjunctions]
1320+
1321+ // [START four_disjunctions]
1322+ [collection queryWhereFilter: [FIRFilter orFilterWithFilters: @[
1323+ [FIRFilter andFilterWithFilters: @[
1324+ [FIRFilter filterWhereField: @" a" isEqualTo: @1 ],
1325+ [FIRFilter filterWhereField: @" c" isEqualTo: @3 ]
1326+ ]],
1327+ [FIRFilter andFilterWithFilters: @[
1328+ [FIRFilter filterWhereField: @" a" isEqualTo: @1 ],
1329+ [FIRFilter filterWhereField: @" d" isEqualTo: @4 ]
1330+ ]],
1331+ [FIRFilter andFilterWithFilters: @[
1332+ [FIRFilter filterWhereField: @" b" isEqualTo: @2 ],
1333+ [FIRFilter filterWhereField: @" c" isEqualTo: @3 ]
1334+ ]],
1335+ [FIRFilter andFilterWithFilters: @[
1336+ [FIRFilter filterWhereField: @" b" isEqualTo: @2 ],
1337+ [FIRFilter filterWhereField: @" d" isEqualTo: @4 ]
1338+ ]],
1339+ ]]];
1340+ // [END four_disjunctions]
1341+
1342+ // [START four_disjunctions_compact]
1343+ [collection queryWhereFilter: [FIRFilter andFilterWithFilters: @[
1344+ [FIRFilter orFilterWithFilters: @[
1345+ [FIRFilter filterWhereField: @" a" isEqualTo: @1 ],
1346+ [FIRFilter filterWhereField: @" b" isEqualTo: @2 ]
1347+ ]],
1348+ [FIRFilter orFilterWithFilters: @[
1349+ [FIRFilter filterWhereField: @" c" isEqualTo: @3 ],
1350+ [FIRFilter filterWhereField: @" d" isEqualTo: @4 ]
1351+ ]]
1352+ ]]];
1353+ // [END four_disjunctions_compact]
1354+
1355+ // [START 20_disjunctions]
1356+ [collection queryWhereFilter: [FIRFilter orFilterWithFilters: @[
1357+ [FIRFilter filterWhereField: @" a" in: @[@1 , @2 , @3 , @4 , @5 , @6 , @7 , @8 , @9 , @10 ]],
1358+ [FIRFilter filterWhereField: @" b" in: @[@1 , @2 , @3 , @4 , @5 , @6 , @7 , @8 , @9 , @10 ]]
1359+ ]]];
1360+ // [END 20_disjunctions]
1361+
1362+ // [START 10_disjunctions]
1363+ [collection queryWhereFilter: [FIRFilter andFilterWithFilters: @[
1364+ [FIRFilter filterWhereField: @" a" in: @[@1 , @2 , @3 , @4 , @5 ]],
1365+ [FIRFilter orFilterWithFilters: @[
1366+ [FIRFilter filterWhereField: @" b" isEqualTo: @2 ],
1367+ [FIRFilter filterWhereField: @" c" isEqualTo: @3 ]
1368+ ]]
1369+ ]]];
1370+ // [END 10_disjunctions]
1371+ }
1372+
1373+ - (void )illegalDisjunctions {
1374+ FIRCollectionReference *collection = [self .db collectionWithPath: @" cities" ];
1375+
1376+ // [START 20_disjunctions]
1377+ [collection queryWhereFilter: [FIRFilter andFilterWithFilters: @[
1378+ [FIRFilter filterWhereField: @" a" in: @[@1 , @2 , @3 , @4 , @5 ]],
1379+ [FIRFilter filterWhereField: @" b" in: @[@1 , @2 , @3 , @4 , @5 , @6 , @7 , @8 , @9 , @10 ]]
1380+ ]]];
1381+ // [END 20_disjunctions]
12921382}
12931383
12941384@end
0 commit comments