Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7b13271

Browse files
bradmiroBenWhitehead
authored andcommitted
feat(firestore): add snipped for IN & ARRAY_CONTAINS_ANY (GoogleCloudPlatform#2526)
1 parent a14349d commit 7b13271

File tree

3 files changed

+59
-1
lines changed

3 files changed

+59
-1
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
google-cloud-firestore==1.4.0
1+
google-cloud-firestore==1.6.0

firestore/cloud-client/snippets.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -877,6 +877,37 @@ def collection_group_query(db):
877877
return docs
878878

879879

880+
def array_contains_any_queries(db):
881+
# [START fs_query_filter_array_contains_any]
882+
cities_ref = db.collection(u'cities')
883+
884+
query = cities_ref.where(
885+
u'regions', u'array_contains_any', [u'west_coast', u'east_coast']
886+
)
887+
return query
888+
# [END fs_query_filter_array_contains_any]
889+
890+
891+
def in_query_without_array(db):
892+
# [START fs_query_filter_in]
893+
cities_ref = db.collection(u'cities')
894+
895+
query = cities_ref.where(u'country', u'in', [u'USA', u'Japan'])
896+
return query
897+
# [END fs_query_filter_in]
898+
899+
900+
def in_query_with_array(db):
901+
# [START fs_query_filter_in_with_array]
902+
cities_ref = db.collection(u'cities')
903+
904+
query = cities_ref.where(
905+
u'regions', u'in', [[u'west_coast'], [u'east_coast']]
906+
)
907+
return query
908+
# [END fs_query_filter_in_with_array]
909+
910+
880911
def update_document_increment(db):
881912
# [START fs_update_document_increment]
882913
washington_ref = db.collection(u'cities').document(u'DC')

firestore/cloud-client/snippets_test.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,33 @@ def test_add_example_data():
5454
snippets.add_example_data()
5555

5656

57+
def test_array_contains_any(db):
58+
query = snippets.array_contains_any_queries(db)
59+
60+
expected = {'SF', 'LA', 'DC'}
61+
actual = {document.id for document in query.stream()}
62+
63+
assert expected == actual
64+
65+
66+
def test_query_filter_in_query_without_array(db):
67+
query = snippets.in_query_without_array(db)
68+
69+
expected = {'SF', 'LA', 'DC', 'TOK'}
70+
actual = {document.id for document in query.stream()}
71+
72+
assert expected == actual
73+
74+
75+
def test_query_filter_in_query_with_array(db):
76+
query = snippets.in_query_with_array(db)
77+
78+
expected = {'DC'}
79+
actual = {document.id for document in query.stream()}
80+
81+
assert expected == actual
82+
83+
5784
def test_add_custom_class_with_id():
5885
snippets.add_custom_class_with_id()
5986

0 commit comments

Comments
 (0)