-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: update README.md to show this library as GA #532
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,110 +1,77 @@ | ||
[//]: # "This README.md file is auto-generated, all changes to this file will be lost." | ||
[//]: # "To regenerate it, use `npm run generate-scaffolding`." | ||
<img src="https://avatars2.githubusercontent.com/u/2810941?v=3&s=96" alt="Google Cloud Platform logo" title="Google Cloud Platform" align="right" height="96" width="96"/> | ||
|
||
# [Google Cloud Firestore: Node.js Server SDK](https://github.com/googleapis/nodejs-firestore) | ||
# [Google Cloud Firestore: Node.js Client](https://github.com/googleapis/nodejs-firestore) | ||
|
||
[![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) | ||
[![npm version](https://img.shields.io/npm/v/@google-cloud/firestore.svg)](https://www.npmjs.org/package/@google-cloud/firestore) | ||
[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-firestore/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-firestore) | ||
|
||
This is the Node.js Server SDK for | ||
[Google Cloud Firestore](https://firebase.google.com/docs/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](https://cloud.google.com/firestore/docs/security/iam) 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`](https://www.npmjs.com/package/firebase) | ||
Client SDK. | ||
|
||
**Table of contents:** | ||
|
||
* [Quickstart](#quickstart) | ||
* [Before you begin](#before-you-begin) | ||
* [Installing the client library](#installing-the-client-library) | ||
* [Using the client library](#using-the-client-library) | ||
* [Versioning](#versioning) | ||
* [Contributing](#contributing) | ||
* [License](#license) | ||
|
||
## Quickstart | ||
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. | ||
|
||
Read more about the client libraries for Cloud APIs, including the older | ||
Google APIs Client Libraries, in [Client Libraries Explained][explained]. | ||
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. | ||
|
||
[explained]: https://cloud.google.com/apis/docs/client-libraries-explained | ||
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. | ||
|
||
* [Cloud Firestore Node.js Client API Reference][client-docs] | ||
* [github.com/googleapis/nodejs-firestore](https://github.com/googleapis/nodejs-firestore) | ||
* [Cloud Firestore Documentation][product-docs] | ||
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. | ||
|
||
### Before you begin | ||
|
||
1. Select or create a Cloud Platform project. | ||
* [Using the client library](#using-the-client-library) | ||
* [Versioning](#versioning) | ||
* [Contributing](#contributing) | ||
* [License](#license) | ||
|
||
[Go to the projects page][projects] | ||
## Using the client library | ||
|
||
1. Enable the Google Cloud Firestore API. | ||
1. [Select or create a Cloud Platform project][projects]. | ||
|
||
[Enable the API][enable_api] | ||
1. [Enable the Google Cloud Firestore API][enable_api]. | ||
|
||
1. [Set up authentication with a service account][auth] so you can access the | ||
API from your local workstation. | ||
|
||
[projects]: https://console.cloud.google.com/project | ||
[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=firestore.googleapis.com | ||
[auth]: https://cloud.google.com/docs/authentication/getting-started | ||
|
||
### Installing the client library | ||
1. Install the client library: | ||
|
||
npm install --save @google-cloud/firestore | ||
npm install --save @google-cloud/firestore | ||
|
||
### Using the client library | ||
1. Try an example: | ||
|
||
```javascript | ||
const Firestore = require('@google-cloud/firestore'); | ||
|
||
const firestore = new Firestore({ | ||
projectId: 'YOUR_PROJECT_ID', | ||
keyFilename: '/path/to/keyfile.json', | ||
}); | ||
|
||
const document = firestore.doc('posts/intro-to-firestore'); | ||
|
||
// Enter new data into the document. | ||
document.set({ | ||
title: 'Welcome to Firestore', | ||
body: 'Hello World', | ||
}).then(() => { | ||
// Document created successfully. | ||
}); | ||
|
||
// Update an existing document. | ||
document.update({ | ||
body: 'My first Firestore app', | ||
}).then(() => { | ||
// Document updated successfully. | ||
}); | ||
|
||
// Read the document. | ||
document.get().then(doc => { | ||
// Document read successfully. | ||
}); | ||
|
||
// Delete the document. | ||
document.delete().then(() => { | ||
// Document deleted successfully. | ||
}); | ||
async function main() { | ||
const firestore = new Firestore({ | ||
projectId: process.env.GCLOUD_PROJECT, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I know you didn't do this (it was probs me), but can you remove the options getting passed into the constructor of the sample here? They aren't needed, like at all. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👌 |
||
keyFilename: process.env.GOOGLE_APPLICATION_CREDENTIALS, | ||
}); | ||
|
||
const document = firestore.doc('posts/intro-to-firestore'); | ||
console.log('Document created'); | ||
|
||
// 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. | ||
let doc = await document.get(); | ||
console.log('Read the document'); | ||
|
||
// Delete the document. | ||
await document.delete(); | ||
console.log('Deleted the document'); | ||
|
||
}; | ||
|
||
main().catch(console.error); | ||
``` | ||
|
||
|
||
|
@@ -134,7 +101,21 @@ Apache Version 2.0 | |
|
||
See [LICENSE](https://github.com/googleapis/nodejs-firestore/blob/master/LICENSE) | ||
|
||
## What's Next | ||
|
||
* [Cloud Firestore Documentation][product-docs] | ||
* [Cloud Firestore Node.js Client API Reference][client-docs] | ||
* [github.com/googleapis/nodejs-firestore](https://github.com/googleapis/nodejs-firestore) | ||
|
||
Read more about the client libraries for Cloud APIs, including the older | ||
Google APIs Client Libraries, in [Client Libraries Explained][explained]. | ||
|
||
[explained]: https://cloud.google.com/apis/docs/client-libraries-explained | ||
|
||
[client-docs]: https://cloud.google.com/nodejs/docs/reference/firestore/latest/ | ||
[product-docs]: https://firebase.google.com/docs/firestore/ | ||
[shell_img]: //gstatic.com/cloudssh/images/open-btn.png | ||
|
||
[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png | ||
[projects]: https://console.cloud.google.com/project | ||
[billing]: https://support.google.com/cloud/answer/6293499#enable-billing | ||
[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=firestore.googleapis.com | ||
[auth]: https://cloud.google.com/docs/authentication/getting-started |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wait - isn't this like the one thing that should change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah sorry I missed that, fixed!