Skip to content

Commit e59b75d

Browse files
authored
Add snippets for OR queries (#364)
* update firebase-admin to version that supports OR * use Filter.where instead of citiesRef.where I'm not really sure why, TS is fine with it, but tests don't pass if I use citiesRef.where in the OR query
1 parent f21d37f commit e59b75d

File tree

17 files changed

+103
-60
lines changed

17 files changed

+103
-60
lines changed

‎auth/functions/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"compile": "cp ../../tsconfig.template.json ./tsconfig.json && tsc"
99
},
1010
"dependencies": {
11-
"firebase-admin": "^11.8.0",
11+
"firebase-admin": "^11.9.0",
1212
"firebase-functions": "^4.4.0"
1313
}
1414
}

‎auth/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"dependencies": {
1111
"express": "^4.18.2",
12-
"firebase-admin": "^11.8.0",
12+
"firebase-admin": "^11.9.0",
1313
"firebase-functions": "^4.4.0"
1414
}
1515
}

‎config/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc"
88
},
99
"dependencies": {
10-
"firebase-admin": "^11.8.0"
10+
"firebase-admin": "^11.9.0"
1111
},
1212
"author": "",
1313
"license": "ISC"

‎database/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc"
1010
},
1111
"dependencies": {
12-
"firebase-admin": "^11.8.0"
12+
"firebase-admin": "^11.9.0"
1313
}
1414
}

‎firebaseapp/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc"
1010
},
1111
"dependencies": {
12-
"firebase-admin": "^11.8.0"
12+
"firebase-admin": "^11.9.0"
1313
}
1414
}

‎firestore/extend-with-functions/functions/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
},
88
"dependencies": {
99
"@google-cloud/firestore": "^6.6.0",
10-
"firebase-admin": "^11.8.0",
10+
"firebase-admin": "^11.9.0",
1111
"firebase-functions": "^4.4.0"
1212
}
1313
}

‎firestore/main/index.js

+40-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const debug = require('debug')('firestore-snippets-node');
22

33
// [START firestore_deps]
44
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
5-
const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
5+
const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
66
// [END firestore_deps]
77

88

@@ -647,6 +647,41 @@ async function inQueries(db) {
647647
console.log('Exactly One Coast get: ', exactlyOneCoast);
648648
}
649649

650+
/**
651+
* Demonstrate OR queries
652+
*
653+
* @param {FirebaseFirestore.Firestore} db
654+
*/
655+
async function orQueries(db) {
656+
const citiesRef = db.collection('cities');
657+
658+
// [START firestore_query_or]
659+
const bigCities = await citiesRef
660+
.where(
661+
Filter.or(
662+
Filter.where('capital', '==', true),
663+
Filter.where('population', '>=', 1000000)
664+
)
665+
)
666+
.get();
667+
// [END firestore_query_or]
668+
669+
// [START firestore_query_or_compound]
670+
const bigCitiesInCalifornia = await citiesRef
671+
.where('state', '==', 'CA')
672+
.where(
673+
Filter.or(
674+
Filter.where('capital', '==', true),
675+
Filter.where('population', '>=', 1000000)
676+
)
677+
)
678+
.get();
679+
// [END firestore_query_or_compound]
680+
681+
console.log('Big cities get: ', bigCities);
682+
console.log('Big cities in California get: ', bigCitiesInCalifornia);
683+
}
684+
650685
async function orderAndLimit(db) {
651686
const citiesRef = db.collection('cities');
652687
// [START firestore_query_order_limit]
@@ -1071,6 +1106,10 @@ describe('Firestore Smoketests', () => {
10711106
return inQueries(db);
10721107
});
10731108

1109+
it('should support or queries', () => {
1110+
return orQueries(db);
1111+
});
1112+
10741113
it('should order and limit', () => {
10751114
return orderAndLimit(db);
10761115
});

‎firestore/main/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"license": "ISC",
1313
"dependencies": {
1414
"@google-cloud/firestore": "^6.6.0",
15-
"firebase-admin": "^11.8.0",
15+
"firebase-admin": "^11.9.0",
1616
"firebase-functions": "^4.4.0"
1717
},
1818
"devDependencies": {

‎firestore/solution-aggregation/functions/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"compile": "cp ../../../tsconfig.template.json ./tsconfig.json && tsc"
1111
},
1212
"dependencies": {
13-
"firebase-admin": "^11.8.0",
13+
"firebase-admin": "^11.9.0",
1414
"firebase-functions": "^4.4.0"
1515
},
1616
"private": true

‎firestore/solution-deletes/functions/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"compile": "cp ../../../tsconfig.template.json ./tsconfig.json && tsc"
1313
},
1414
"dependencies": {
15-
"firebase-admin": "^11.8.0",
15+
"firebase-admin": "^11.9.0",
1616
"firebase-functions": "^4.4.0",
1717
"firebase-tools": "^12.2.1"
1818
}

‎firestore/solution-sharded-timestamp/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
},
1313
"dependencies": {
1414
"@google-cloud/firestore": "^6.6.0",
15-
"firebase-admin": "^11.8.0"
15+
"firebase-admin": "^11.9.0"
1616
}
1717
}

‎functions/firestore-export/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"compile": "cp ../../tsconfig.template.json ./tsconfig.json && tsc"
1010
},
1111
"dependencies": {
12-
"firebase-admin": "^11.8.0",
12+
"firebase-admin": "^11.9.0",
1313
"firebase-functions": "^4.4.0"
1414
}
1515
}

‎functions/stackdriver-logging/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
},
1111
"dependencies": {
1212
"@google-cloud/logging": "^10.4.1",
13-
"firebase-admin": "^11.8.0",
13+
"firebase-admin": "^11.9.0",
1414
"firebase-functions": "^4.4.0"
1515
}
1616
}

‎management/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"firebase-admin": "^11.8.0",
12+
"firebase-admin": "^11.9.0",
1313
"request-promise": "^4.2.6"
1414
}
1515
}

‎messaging/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc"
1010
},
1111
"dependencies": {
12-
"firebase-admin": "^11.8.0"
12+
"firebase-admin": "^11.9.0"
1313
}
1414
}

0 commit comments

Comments
 (0)