29
29
import com .google .cloud .firestore .WriteResult ;
30
30
31
31
import java .util .ArrayList ;
32
+ import java .util .Arrays ;
32
33
import java .util .List ;
33
34
34
35
/** Snippets to support firestore querying data documentation. */
@@ -46,14 +47,20 @@ class QueryDataSnippets {
46
47
* @return collection reference
47
48
*/
48
49
void prepareExamples () throws Exception {
50
+
49
51
// [START fs_query_create_examples]
50
52
CollectionReference cities = db .collection ("cities" );
51
53
List <ApiFuture <WriteResult >> futures = new ArrayList <>();
52
- futures .add (cities .document ("SF" ).set (new City ("San Francisco" , "CA" , "USA" , false , 860000L )));
53
- futures .add (cities .document ("LA" ).set (new City ("Los Angeles" , "CA" , "USA" , false , 3900000L )));
54
- futures .add (cities .document ("DC" ).set (new City ("Washington D.C." , null , "USA" , true , 680000L )));
55
- futures .add (cities .document ("TOK" ).set (new City ("Tokyo" , null , "Japan" , true , 9000000L )));
56
- futures .add (cities .document ("BJ" ).set (new City ("Beijing" , null , "China" , true , 21500000L )));
54
+ futures .add (cities .document ("SF" ).set (new City ("San Francisco" , "CA" , "USA" , false , 860000L ,
55
+ Arrays .asList ("west_coast" , "norcal" ))));
56
+ futures .add (cities .document ("LA" ).set (new City ("Los Angeles" , "CA" , "USA" , false , 3900000L ,
57
+ Arrays .asList ("west_coast" , "socal" ))));
58
+ futures .add (cities .document ("DC" ).set (new City ("Washington D.C." , null , "USA" , true , 680000L ,
59
+ Arrays .asList ("east_coast" ))));
60
+ futures .add (cities .document ("TOK" ).set (new City ("Tokyo" , null , "Japan" , true , 9000000L ,
61
+ Arrays .asList ("kanto" , "honshu" ))));
62
+ futures .add (cities .document ("BJ" ).set (new City ("Beijing" , null , "China" , true , 21500000L ,
63
+ Arrays .asList ("jingjinji" , "hebei" ))));
57
64
// (optional) block on documents successfully added
58
65
ApiFutures .allAsList (futures ).get ();
59
66
// [END fs_query_create_examples]
@@ -122,6 +129,20 @@ List<Query> createSimpleQueries() {
122
129
return querys ;
123
130
}
124
131
132
+ /**
133
+ * Creates a query based on array containment.
134
+ *
135
+ * @return query
136
+ */
137
+ Query createArrayQuery () {
138
+ // [START fs_array_contains_filter]
139
+ CollectionReference citiesRef = db .collection ("cities" );
140
+ Query westCoastQuery = citiesRef .whereArrayContains ("regions" , "west_coast" );
141
+ // [END fs_array_contains_filter]
142
+
143
+ return westCoastQuery ;
144
+ }
145
+
125
146
/**
126
147
* Creates chained where clauses.
127
148
*
0 commit comments