Skip to content

Commit 0e53a82

Browse files
committed
Add OR snippets
1 parent 50daa28 commit 0e53a82

File tree

2 files changed

+176
-0
lines changed

2 files changed

+176
-0
lines changed

firestore/app/src/main/java/com/google/example/firestore/DocSnippets.java

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,4 +1399,92 @@ public void onComplete(@NonNull Task<AggregateQuerySnapshot> task) {
13991399
});
14001400
// [END count_aggregate_query]
14011401
}
1402+
1403+
public void orQuery() {
1404+
CollectionReference collection = db.collection("cities");
1405+
// [START or_queries]
1406+
Query query = collection.where(Filter.and(
1407+
Filter.greaterThan("name", "L"),
1408+
Filter.or(
1409+
Filter.equalTo("capital", true),
1410+
Filter.greaterThanOrEqualTo("population", 1000000)
1411+
)
1412+
));
1413+
// [END or_queries]
1414+
}
1415+
1416+
public void orQueryDisjunctions() {
1417+
CollectionReference collection = db.collection("cities");
1418+
1419+
// [START one_disjunction]
1420+
collection.whereEqualTo("a", 1);
1421+
// [END one_disjunction]
1422+
1423+
// [START two_disjunctions]
1424+
collection.where(Filter.or(
1425+
Filter.equalTo("a", 1),
1426+
Filter.equalTo("b", 2)
1427+
));
1428+
// [END two_disjunctions]
1429+
1430+
// [START four_disjunctions]
1431+
collection.where(Filter.or(
1432+
Filter.and(
1433+
Filter.equalTo("a", 1),
1434+
Filter.equalTo("c", 3)
1435+
),
1436+
Filter.and(
1437+
Filter.equalTo("a", 1),
1438+
Filter.equalTo("d", 4)
1439+
),
1440+
Filter.and(
1441+
Filter.equalTo("b", 2),
1442+
Filter.equalTo("c", 3)
1443+
),
1444+
Filter.and(
1445+
Filter.equalTo("b", 2),
1446+
Filter.equalTo("d", 4)
1447+
)
1448+
));
1449+
// [END four_disjunctions]
1450+
1451+
// [START four_disjunctions_compact]
1452+
collection.where(Filter.and(
1453+
Filter.or(
1454+
Filter.equalTo("a", 1),
1455+
Filter.equalTo("b", 2)
1456+
),
1457+
Filter.or(
1458+
Filter.equalTo("c", 3),
1459+
Filter.equalTo("d", 4)
1460+
)
1461+
));
1462+
// [END four_disjunctions_compact]
1463+
1464+
// [START 20_disjunctions]
1465+
collection.where(Filter.or(
1466+
Filter.inArray("a", Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
1467+
Filter.inArray("b", Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
1468+
));
1469+
// [END 20_disjunctions]
1470+
1471+
// [START 10_disjunctions]
1472+
collection.where(Filter.and(
1473+
Filter.inArray("a", Arrays.asList(1, 2, 3, 4, 5)),
1474+
Filter.or(
1475+
Filter.equalTo("b", 2),
1476+
Filter.equalTo("c", 3)
1477+
)
1478+
));
1479+
// [END 10_disjunctions]
1480+
}
1481+
1482+
public void illegalDisjunctions() {
1483+
// [START 50_disjunctions]
1484+
collection.where(Filter.and(
1485+
Filter.inArray("a", Arrays.asList(1, 2, 3, 4, 5)),
1486+
Filter.inArray("b", Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
1487+
));
1488+
// [END 50_disjunctions]
1489+
}
14021490
}

firestore/app/src/main/java/com/google/example/firestore/kotlin/DocSnippets.kt

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1164,4 +1164,92 @@ abstract class DocSnippets(val db: FirebaseFirestore) {
11641164

11651165
// [END count_aggregate_query]
11661166
}
1167+
1168+
fun orQuery() {
1169+
val collection = db.collection("cities")
1170+
// [START or_query]
1171+
val query = collection.where(Filter.and(
1172+
Filter.greaterThan("name", "L"),
1173+
Filter.or(
1174+
Filter.equalTo("capital", true),
1175+
Filter.greaterThanOrEqualTo("population", 1000000)
1176+
))
1177+
// [END or_query]
1178+
}
1179+
1180+
fun orQueryDisjunctions() {
1181+
val collection = db.collection("cities")
1182+
1183+
// [START one_disjunction]
1184+
collection.whereEqualTo("a", 1)
1185+
// [END one_disjunction]
1186+
1187+
// [START two_disjunctions]
1188+
collection.where(Filter.or(
1189+
Filter.equalTo("a", 1),
1190+
Filter.equalTo("b", 2)
1191+
))
1192+
// [END two_disjunctions]
1193+
1194+
// [START four_disjunctions]
1195+
collection.where(Filter.or(
1196+
Filter.and(
1197+
Filter.equalTo("a", 1),
1198+
Filter.equalTo("c", 3)
1199+
),
1200+
Filter.and(
1201+
Filter.equalTo("a", 1),
1202+
Filter.equalTo("d", 4)
1203+
),
1204+
Filter.and(
1205+
Filter.equalTo("b", 2),
1206+
Filter.equalTo("c", 3)
1207+
),
1208+
Filter.and(
1209+
Filter.equalTo("b", 2),
1210+
Filter.equalTo("d", 4)
1211+
)
1212+
))
1213+
// [END four_disjunctions]
1214+
1215+
// [START four_disjunctions_compact]
1216+
collection.where(Filter.and(
1217+
Filter.or(
1218+
Filter.equalTo("a", 1),
1219+
Filter.equalTo("b", 2)
1220+
),
1221+
Filter.or(
1222+
Filter.equalTo("c", 3),
1223+
Filter.equalTo("d", 4)
1224+
)
1225+
))
1226+
// [END four_disjunctions_compact]
1227+
1228+
// [START 20_disjunctions]
1229+
collection.where(Filter.or(
1230+
Filter.inArray("a", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
1231+
Filter.inArray("b", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
1232+
))
1233+
// [END 20_disjunctions]
1234+
1235+
// [START 10_disjunctions]
1236+
collection.where(Filter.and(
1237+
Filter.inArray("a", [1, 2, 3, 4, 5]),
1238+
Filter.or(
1239+
Filter.equalTo("b", 2),
1240+
Filter.equalTo("c", 3)
1241+
)
1242+
))
1243+
// [END 10_disjunctions]
1244+
}
1245+
1246+
fun illegalDisjunctions() {
1247+
val collection = db.collection("cities")
1248+
// [START 50_disjunctions]
1249+
collection.where(Filter.and(
1250+
Filter.inArray("a", [1, 2, 3, 4, 5]),
1251+
Filter.inArray("b", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
1252+
));
1253+
// [END 50_disjunctions]
1254+
}
11671255
}

0 commit comments

Comments
 (0)