This repository was archived by the owner on Mar 4, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 164
Expand file tree
/
Copy pathpipelines-quickstart.js
More file actions
58 lines (49 loc) · 1.96 KB
/
pipelines-quickstart.js
File metadata and controls
58 lines (49 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Copyright 2026 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
'use strict';
/* eslint-disable n/no-missing-require */
// [START firestore_pipelines_quickstart]
const {Firestore} = require('@google-cloud/firestore');
const {field} = require('@google-cloud/firestore/pipelines');
// Create a new client
const firestore = new Firestore();
async function quickstartPipelines() {
// Obtain a collection reference.
const collection = firestore.collection('posts');
// Create a few new posts
for (let i = 0; i < 5; i++) {
await collection.add({
title: `Post ${i}`,
rating: Math.random() * 10, // random rating on a 10 point scale
});
}
console.log('Entered new data into the collection');
// Create a Pipeline that queries the 'posts' collection.
// Select the fields 'rating' and 'title', and convert the title to uppercase.
// Filter the results to only include posts with rating > 5.
const myPipeline = firestore
.pipeline()
.collection('posts')
.select('rating', field('title').toUpper().as('lowercaseTitle'))
.where(field('rating').greaterThan(5));
// Execute the Pipeline against the Firestore server.
const pipelineSnapshot = await myPipeline.execute();
// Iterate over each result in the PipelineSnapshot, printing the
// post to the console.
pipelineSnapshot.results.forEach(pipelineResult => {
console.log(pipelineResult.data());
});
}
quickstartPipelines();
// [END firestore_pipelines_quickstart]