@@ -1271,24 +1271,114 @@ - (void)averageAggregateQuery {
1271
1271
}
1272
1272
1273
1273
- (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]
1292
1382
}
1293
1383
1294
1384
@end
0 commit comments