diff --git a/auth/functions/package.json b/auth/functions/package.json index 6fec8bab..5c0edad4 100644 --- a/auth/functions/package.json +++ b/auth/functions/package.json @@ -8,7 +8,7 @@ "compile": "cp ../../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" } } diff --git a/auth/package.json b/auth/package.json index 9fbbb222..68fe304c 100644 --- a/auth/package.json +++ b/auth/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "express": "^4.18.2", - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" } } diff --git a/config/package.json b/config/package.json index 9b302391..e0ca8c1f 100644 --- a/config/package.json +++ b/config/package.json @@ -7,7 +7,7 @@ "compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0" + "firebase-admin": "^11.9.0" }, "author": "", "license": "ISC" diff --git a/database/package.json b/database/package.json index d9943c70..dd957660 100644 --- a/database/package.json +++ b/database/package.json @@ -9,6 +9,6 @@ "compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0" + "firebase-admin": "^11.9.0" } } diff --git a/firebaseapp/package.json b/firebaseapp/package.json index 1fabb74d..7b24b023 100644 --- a/firebaseapp/package.json +++ b/firebaseapp/package.json @@ -9,6 +9,6 @@ "compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0" + "firebase-admin": "^11.9.0" } } diff --git a/firestore/extend-with-functions/functions/package.json b/firestore/extend-with-functions/functions/package.json index a1b4824f..590909bf 100644 --- a/firestore/extend-with-functions/functions/package.json +++ b/firestore/extend-with-functions/functions/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@google-cloud/firestore": "^6.6.0", - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" } } diff --git a/firestore/main/index.js b/firestore/main/index.js index 62013e77..b4a3c2bd 100644 --- a/firestore/main/index.js +++ b/firestore/main/index.js @@ -2,7 +2,7 @@ const debug = require('debug')('firestore-snippets-node'); // [START firestore_deps] const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); -const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore'); +const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore'); // [END firestore_deps] @@ -647,6 +647,41 @@ async function inQueries(db) { console.log('Exactly One Coast get: ', exactlyOneCoast); } +/** + * Demonstrate OR queries + * + * @param {FirebaseFirestore.Firestore} db + */ +async function orQueries(db) { + const citiesRef = db.collection('cities'); + + // [START firestore_query_or] + const bigCities = await citiesRef + .where( + Filter.or( + Filter.where('capital', '==', true), + Filter.where('population', '>=', 1000000) + ) + ) + .get(); + // [END firestore_query_or] + + // [START firestore_query_or_compound] + const bigCitiesInCalifornia = await citiesRef + .where('state', '==', 'CA') + .where( + Filter.or( + Filter.where('capital', '==', true), + Filter.where('population', '>=', 1000000) + ) + ) + .get(); + // [END firestore_query_or_compound] + + console.log('Big cities get: ', bigCities); + console.log('Big cities in California get: ', bigCitiesInCalifornia); +} + async function orderAndLimit(db) { const citiesRef = db.collection('cities'); // [START firestore_query_order_limit] @@ -1071,6 +1106,10 @@ describe('Firestore Smoketests', () => { return inQueries(db); }); + it('should support or queries', () => { + return orQueries(db); + }); + it('should order and limit', () => { return orderAndLimit(db); }); diff --git a/firestore/main/package.json b/firestore/main/package.json index 1f29c256..2f2c76e7 100644 --- a/firestore/main/package.json +++ b/firestore/main/package.json @@ -12,7 +12,7 @@ "license": "ISC", "dependencies": { "@google-cloud/firestore": "^6.6.0", - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" }, "devDependencies": { diff --git a/firestore/solution-aggregation/functions/package.json b/firestore/solution-aggregation/functions/package.json index d1c65482..92f875e6 100644 --- a/firestore/solution-aggregation/functions/package.json +++ b/firestore/solution-aggregation/functions/package.json @@ -10,7 +10,7 @@ "compile": "cp ../../../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" }, "private": true diff --git a/firestore/solution-deletes/functions/package.json b/firestore/solution-deletes/functions/package.json index 0efa1197..93cc1b55 100644 --- a/firestore/solution-deletes/functions/package.json +++ b/firestore/solution-deletes/functions/package.json @@ -12,7 +12,7 @@ "compile": "cp ../../../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0", "firebase-tools": "^12.2.1" } diff --git a/firestore/solution-sharded-timestamp/package.json b/firestore/solution-sharded-timestamp/package.json index 1127213d..ae6e229e 100644 --- a/firestore/solution-sharded-timestamp/package.json +++ b/firestore/solution-sharded-timestamp/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "@google-cloud/firestore": "^6.6.0", - "firebase-admin": "^11.8.0" + "firebase-admin": "^11.9.0" } } diff --git a/functions/firestore-export/package.json b/functions/firestore-export/package.json index f2501ff7..19ea3a60 100644 --- a/functions/firestore-export/package.json +++ b/functions/firestore-export/package.json @@ -9,7 +9,7 @@ "compile": "cp ../../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" } } diff --git a/functions/stackdriver-logging/package.json b/functions/stackdriver-logging/package.json index 8aea5cc9..90c51add 100644 --- a/functions/stackdriver-logging/package.json +++ b/functions/stackdriver-logging/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@google-cloud/logging": "^10.4.1", - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "firebase-functions": "^4.4.0" } } diff --git a/management/package.json b/management/package.json index 05e97366..0ea23e95 100644 --- a/management/package.json +++ b/management/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "firebase-admin": "^11.8.0", + "firebase-admin": "^11.9.0", "request-promise": "^4.2.6" } } diff --git a/messaging/package.json b/messaging/package.json index fdf57540..8be98af0 100644 --- a/messaging/package.json +++ b/messaging/package.json @@ -9,6 +9,6 @@ "compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0" + "firebase-admin": "^11.9.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43f4fd82..85e42e5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,38 +29,38 @@ importers: specifier: ^4.18.2 version: 4.18.2 firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) auth/functions: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) config: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 database: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebaseapp: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firestore/extend-with-functions/functions: dependencies: @@ -68,11 +68,11 @@ importers: specifier: ^6.6.0 version: 6.6.0 firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) firestore/main: dependencies: @@ -80,11 +80,11 @@ importers: specifier: ^6.6.0 version: 6.6.0 firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) devDependencies: '@types/mocha': specifier: ^10.0.1 @@ -99,20 +99,20 @@ importers: firestore/solution-aggregation/functions: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) firestore/solution-deletes/functions: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) firebase-tools: specifier: ^12.2.1 version: 12.2.1 @@ -142,17 +142,17 @@ importers: specifier: ^6.6.0 version: 6.6.0 firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 functions/firestore-export: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) functions/stackdriver-logging: dependencies: @@ -160,17 +160,17 @@ importers: specifier: ^10.4.1 version: 10.4.1 firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 firebase-functions: specifier: ^4.4.0 - version: 4.4.0(firebase-admin@11.8.0) + version: 4.4.0(firebase-admin@11.9.0) management: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 request-promise: specifier: ^4.2.6 version: 4.2.6(request@2.88.2) @@ -178,14 +178,14 @@ importers: messaging: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 storage: dependencies: firebase-admin: - specifier: ^11.8.0 - version: 11.8.0 + specifier: ^11.9.0 + version: 11.9.0 packages: @@ -689,7 +689,7 @@ packages: /@types/jsonwebtoken@9.0.2: resolution: {integrity: sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==} dependencies: - '@types/node': 20.2.4 + '@types/node': 20.2.5 dev: false /@types/linkify-it@3.0.2: @@ -725,6 +725,10 @@ packages: /@types/node@20.2.4: resolution: {integrity: sha512-ni5f8Xlf4PwnT/Z3f0HURc3ZSw8UyrqMqmM3L5ysa7VjHu8c3FOmIo1nKCcLrV/OAmtf3N4kFna/aJqxsfEtnA==} + /@types/node@20.2.5: + resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} + dev: false + /@types/qs@6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: false @@ -2013,14 +2017,14 @@ packages: path-exists: 4.0.0 dev: true - /firebase-admin@11.8.0: - resolution: {integrity: sha512-RxO0wWDnuqVikXExhVjnhVaaXpziKCad4D1rOX5c1WJdk1jAu9hfE4rbrFKZQZgF1okZS04kgCBIFJro7xn8NQ==} + /firebase-admin@11.9.0: + resolution: {integrity: sha512-My7qrInVZFmImX8aTulrp9kgY6d88Wn+ie8UIXKzZ3SJqQQhDwFT7Q3pgQXK9RfdsUtcxJJ3rCK7MWBm4GGtuw==} engines: {node: '>=14'} dependencies: '@fastify/busboy': 1.2.1 '@firebase/database-compat': 0.3.4 '@firebase/database-types': 0.10.4 - '@types/node': 20.2.4 + '@types/node': 20.2.5 jsonwebtoken: 9.0.0 jwks-rsa: 3.0.1 node-forge: 1.3.1 @@ -2033,7 +2037,7 @@ packages: - supports-color dev: false - /firebase-functions@4.4.0(firebase-admin@11.8.0): + /firebase-functions@4.4.0(firebase-admin@11.9.0): resolution: {integrity: sha512-Vdkr9/y/UKQez//cPm2Iu/9CeayqQ2tQF6o3KXozDDBokK9AOlAalVHImCpKo6nWptT/ncZ8djJFk5cR8l+E+A==} engines: {node: '>=14.10.0'} hasBin: true @@ -2044,7 +2048,7 @@ packages: '@types/express': 4.17.3 cors: 2.8.5 express: 4.18.2 - firebase-admin: 11.8.0 + firebase-admin: 11.9.0 node-fetch: 2.6.11 protobufjs: 7.2.3 transitivePeerDependencies: diff --git a/storage/package.json b/storage/package.json index bc927bf5..50618e98 100644 --- a/storage/package.json +++ b/storage/package.json @@ -9,6 +9,6 @@ "compile": "cp ../tsconfig.template.json ./tsconfig.json && tsc" }, "dependencies": { - "firebase-admin": "^11.8.0" + "firebase-admin": "^11.9.0" } }