Skip to content

Commit 183ce4d

Browse files
committed
Add OR snippets
1 parent 757714d commit 183ce4d

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

+88
Original file line numberDiff line numberDiff line change
@@ -1335,4 +1335,92 @@ public void onComplete(@NonNull Task<AggregateQuerySnapshot> task) {
13351335
});
13361336
// [END count_aggregate_query]
13371337
}
1338+
1339+
public void orQuery() {
1340+
CollectionReference collection = db.collection("cities");
1341+
// [START or_queries]
1342+
Query query = collection.where(Filter.and(
1343+
Filter.greaterThan("name", "L"),
1344+
Filter.or(
1345+
Filter.equalTo("capital", true),
1346+
Filter.greaterThanOrEqualTo("population", 1000000)
1347+
)
1348+
));
1349+
// [END or_queries]
1350+
}
1351+
1352+
public void orQueryDisjunctions() {
1353+
CollectionReference collection = db.collection("cities");
1354+
1355+
// [START one_disjunction]
1356+
collection.whereEqualTo("a", 1);
1357+
// [END one_disjunction]
1358+
1359+
// [START two_disjunctions]
1360+
collection.where(Filter.or(
1361+
Filter.equalTo("a", 1),
1362+
Filter.equalTo("b", 2)
1363+
));
1364+
// [END two_disjunctions]
1365+
1366+
// [START four_disjunctions]
1367+
collection.where(Filter.or(
1368+
Filter.and(
1369+
Filter.equalTo("a", 1),
1370+
Filter.equalTo("c", 3)
1371+
),
1372+
Filter.and(
1373+
Filter.equalTo("a", 1),
1374+
Filter.equalTo("d", 4)
1375+
),
1376+
Filter.and(
1377+
Filter.equalTo("b", 2),
1378+
Filter.equalTo("c", 3)
1379+
),
1380+
Filter.and(
1381+
Filter.equalTo("b", 2),
1382+
Filter.equalTo("d", 4)
1383+
)
1384+
));
1385+
// [END four_disjunctions]
1386+
1387+
// [START four_disjunctions_compact]
1388+
collection.where(Filter.and(
1389+
Filter.or(
1390+
Filter.equalTo("a", 1),
1391+
Filter.equalTo("b", 2)
1392+
),
1393+
Filter.or(
1394+
Filter.equalTo("c", 3),
1395+
Filter.equalTo("d", 4)
1396+
)
1397+
));
1398+
// [END four_disjunctions_compact]
1399+
1400+
// [START 20_disjunctions]
1401+
collection.where(Filter.or(
1402+
Filter.inArray("a", Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
1403+
Filter.inArray("b", Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
1404+
));
1405+
// [END 20_disjunctions]
1406+
1407+
// [START 10_disjunctions]
1408+
collection.where(Filter.and(
1409+
Filter.inArray("a", Arrays.asList(1, 2, 3, 4, 5)),
1410+
Filter.or(
1411+
Filter.equalTo("b", 2),
1412+
Filter.equalTo("c", 3)
1413+
)
1414+
));
1415+
// [END 10_disjunctions]
1416+
}
1417+
1418+
public void illegalDisjunctions() {
1419+
// [START 50_disjunctions]
1420+
collection.where(Filter.and(
1421+
Filter.inArray("a", Arrays.asList(1, 2, 3, 4, 5)),
1422+
Filter.inArray("b", Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
1423+
));
1424+
// [END 50_disjunctions]
1425+
}
13381426
}

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

+88
Original file line numberDiff line numberDiff line change
@@ -1107,4 +1107,92 @@ abstract class DocSnippets(val db: FirebaseFirestore) {
11071107
}
11081108
// [END count_aggregate_query]
11091109
}
1110+
1111+
fun orQuery() {
1112+
val collection = db.collection("cities")
1113+
// [START or_query]
1114+
val query = collection.where(Filter.and(
1115+
Filter.greaterThan("name", "L"),
1116+
Filter.or(
1117+
Filter.equalTo("capital", true),
1118+
Filter.greaterThanOrEqualTo("population", 1000000)
1119+
))
1120+
// [END or_query]
1121+
}
1122+
1123+
fun orQueryDisjunctions() {
1124+
val collection = db.collection("cities")
1125+
1126+
// [START one_disjunction]
1127+
collection.whereEqualTo("a", 1)
1128+
// [END one_disjunction]
1129+
1130+
// [START two_disjunctions]
1131+
collection.where(Filter.or(
1132+
Filter.equalTo("a", 1),
1133+
Filter.equalTo("b", 2)
1134+
))
1135+
// [END two_disjunctions]
1136+
1137+
// [START four_disjunctions]
1138+
collection.where(Filter.or(
1139+
Filter.and(
1140+
Filter.equalTo("a", 1),
1141+
Filter.equalTo("c", 3)
1142+
),
1143+
Filter.and(
1144+
Filter.equalTo("a", 1),
1145+
Filter.equalTo("d", 4)
1146+
),
1147+
Filter.and(
1148+
Filter.equalTo("b", 2),
1149+
Filter.equalTo("c", 3)
1150+
),
1151+
Filter.and(
1152+
Filter.equalTo("b", 2),
1153+
Filter.equalTo("d", 4)
1154+
)
1155+
))
1156+
// [END four_disjunctions]
1157+
1158+
// [START four_disjunctions_compact]
1159+
collection.where(Filter.and(
1160+
Filter.or(
1161+
Filter.equalTo("a", 1),
1162+
Filter.equalTo("b", 2)
1163+
),
1164+
Filter.or(
1165+
Filter.equalTo("c", 3),
1166+
Filter.equalTo("d", 4)
1167+
)
1168+
))
1169+
// [END four_disjunctions_compact]
1170+
1171+
// [START 20_disjunctions]
1172+
collection.where(Filter.or(
1173+
Filter.inArray("a", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
1174+
Filter.inArray("b", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
1175+
))
1176+
// [END 20_disjunctions]
1177+
1178+
// [START 10_disjunctions]
1179+
collection.where(Filter.and(
1180+
Filter.inArray("a", [1, 2, 3, 4, 5]),
1181+
Filter.or(
1182+
Filter.equalTo("b", 2),
1183+
Filter.equalTo("c", 3)
1184+
)
1185+
))
1186+
// [END 10_disjunctions]
1187+
}
1188+
1189+
fun illegalDisjunctions() {
1190+
val collection = db.collection("cities")
1191+
// [START 50_disjunctions]
1192+
collection.where(Filter.and(
1193+
Filter.inArray("a", [1, 2, 3, 4, 5]),
1194+
Filter.inArray("b", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
1195+
));
1196+
// [END 50_disjunctions]
1197+
}
11101198
}

0 commit comments

Comments
 (0)