Socket
Socket
Sign inDemoInstall

@google-cloud/firestore

Package Overview
Dependencies
92
Maintainers
1
Versions
141
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@google-cloud/firestore

Firestore Client Library for Node.js


Version published
Maintainers
1
Weekly downloads
1,660,032
decreased by-3.87%

Weekly downloads

Package description

What is @google-cloud/firestore?

The @google-cloud/firestore npm package is a client library for accessing Google Cloud Firestore, a NoSQL document database built for automatic scaling, high performance, and ease of application development. It provides functionality to perform various operations such as adding, updating, deleting documents, querying collections, and managing transactions.

What are @google-cloud/firestore's main functionalities?

Adding Documents

This code sample demonstrates how to add a document to a Firestore collection. It creates a new document with a specified ID ('alovelace') and sets the data for the document.

const { Firestore } = require('@google-cloud/firestore');
const firestore = new Firestore();
const document = firestore.collection('users').doc('alovelace');
document.set({
  first: 'Ada',
  last: 'Lovelace',
  born: 1815
});

Updating Documents

This code sample shows how to update an existing document in a Firestore collection. It updates the 'born' field of the document with the ID 'alovelace'.

const { Firestore } = require('@google-cloud/firestore');
const firestore = new Firestore();
const document = firestore.collection('users').doc('alovelace');
document.update({
  born: 1816
});

Deleting Documents

This code sample illustrates how to delete a document from a Firestore collection. It deletes the document with the ID 'alovelace'.

const { Firestore } = require('@google-cloud/firestore');
const firestore = new Firestore();
const document = firestore.collection('users').doc('alovelace');
document.delete();

Querying Collections

This code sample demonstrates how to query documents in a Firestore collection that meet certain criteria. It retrieves all documents where the 'born' field is greater than 1800.

const { Firestore } = require('@google-cloud/firestore');
const firestore = new Firestore();
firestore.collection('users').where('born', '>', 1800).get()
  .then(snapshot => {
    snapshot.forEach(doc => console.log(doc.id, '=>', doc.data()));
  });

Managing Transactions

This code sample shows how to use transactions to read and write data atomically. It reads a document and then updates it within a transaction, ensuring that the operation is atomic.

const { Firestore } = require('@google-cloud/firestore');
const firestore = new Firestore();
let documentRef = firestore.collection('users').doc('alovelace');
firestore.runTransaction(transaction => {
  return transaction.get(documentRef).then(doc => {
    if (!doc.exists) {
      throw 'Document does not exist!';
    }
    let newBorn = doc.data().born + 1;
    transaction.update(documentRef, { born: newBorn });
  });
}).then(() => console.log('Transaction successfully committed!'))
.catch(error => console.log('Transaction failed: ', error));

Other packages similar to @google-cloud/firestore

Readme

Source

Google Cloud Platform logo

Cloud Firestore: Node.js Client

release level npm version

This is the Node.js Server SDK for Google Cloud Firestore. Google Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development.

This Cloud Firestore Server SDK uses Google’s Cloud Identity and Access Management for authentication and should only be used in trusted environments. Your Cloud Identity credentials allow you bypass all access restrictions and provide read and write access to all data in your Cloud Firestore project.

The Cloud Firestore Server SDKs are designed to manage the full set of data in your Cloud Firestore project and work best with reliable network connectivity. Data operations performed via these SDKs directly access the Cloud Firestore backend and all document reads and writes are optimized for high throughput.

Applications that use Google's Server SDKs should not be used in end-user environments, such as on phones or on publicly hosted websites. If you are developing a Web or Node.js application that accesses Cloud Firestore on behalf of end users, use the firebase Client SDK.

Note: This Cloud Firestore Server SDK does not support Firestore databases created in Datastore mode. To access these databases, use the Datastore SDK.

A comprehensive list of changes in each version may be found in the CHANGELOG.

Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.

Table of contents:

Quickstart

Before you begin

  1. Select or create a Cloud Platform project.
  2. Enable the Cloud Firestore API.
  3. Set up authentication with a service account so you can access the API from your local workstation.

Installing the client library

npm install @google-cloud/firestore

Using the client library

const {Firestore} = require('@google-cloud/firestore');

// Create a new client
const firestore = new Firestore();

async function quickstart() {
  // Obtain a document reference.
  const document = firestore.doc('posts/intro-to-firestore');

  // Enter new data into the document.
  await document.set({
    title: 'Welcome to Firestore',
    body: 'Hello World',
  });
  console.log('Entered new data into the document');

  // Update an existing document.
  await document.update({
    body: 'My first Firestore app',
  });
  console.log('Updated an existing document');

  // Read the document.
  const doc = await document.get();
  console.log('Read the document');

  // Delete the document.
  await document.delete();
  console.log('Deleted the document');
}
quickstart();

Samples

Samples are in the samples/ directory. Each sample's README.md has instructions for running its sample.

SampleSource CodeTry it
Limit-to-last-querysource codeOpen in Cloud Shell
Quickstartsource codeOpen in Cloud Shell
Solution-counterssource codeOpen in Cloud Shell

The Cloud Firestore Node.js Client API Reference documentation also contains samples.

Supported Node.js Versions

Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.

Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:

  • Legacy versions are not tested in continuous integration.
  • Some security patches and features cannot be backported.
  • Dependencies cannot be kept up-to-date.

Client libraries targeting some end-of-life versions of Node.js are available, and can be installed through npm dist-tags. The dist-tags follow the naming convention legacy-(version). For example, npm install @google-cloud/firestore@legacy-8 installs client libraries for versions compatible with Node.js 8.

Versioning

This library follows Semantic Versioning.

This library is considered to be stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against stable libraries are addressed with the highest priority.

More Information: Google Cloud Platform Launch Stages

Contributing

Contributions welcome! See the Contributing Guide.

Please note that this README.md, the samples/README.md, and a variety of configuration files in this repository (including .nycrc and tsconfig.json) are generated from a central template. To edit one of these files, make an edit to its templates in directory.

License

Apache Version 2.0

See LICENSE

Keywords

FAQs

Last updated on 02 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc