node-firestore-backup

Google Firebase Firestore backup tool
授权协议 Readme
开发语言 JavaScript
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 东郭源
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

firestore-backup

A Google Firebase Firestore backup tool.

Note: Firebase now has an official backup and restore tool

Read more about how to use it here: https://firebase.google.com/docs/firestore/manage-data/export-import

Installation

Install using npm.

npm install -g firestore-backup

or yarn

yarn global add firestore-backup

Alternatively download the source.

git clone https://github.com/steadyequipment/node-firestore-backup.git

Retrieving Google Cloud Account Credentials

  1. Visit the Firebase Console
  2. Select your project
  3. Navigate to Project Settings (at the time of writing the gear icon button at the top left of the page).
  4. Navigate to Service Accounts
  5. Click Generate New Private Key

This downloaded json file contains the proper credentials needed for firestore-backup to authenticate.

Usage

Backup:

  • -a, --accountCredentials <path> - Google Cloud account credentials JSON file.
  • -B, --backupPath <path>- Path to store the backup.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase

Backup with pretty printing:

  • -P, --prettyPrint - JSON backups done with pretty-printing.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase --prettyPrint

Backup from a starting path:

  • -S, --databaseStartPath <path> - The database collection or document path to begin backup.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase --databaseStartPath /myCollection/document_3

Limit number of requests:

  • -L, --requestCountLimit <number> - The maximum number of requests to be made in parallel.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase --requestCountLimit 2

Exclude top level collections from backup:

  • -E, --excludeCollections <id> - Top level collection id(s) to exclude from backing up.

Note: because of how the command line parsing library works multiple collection ids must be specified as separate parameters.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase --excludeCollections myFirstAnnoyingCollection --excludeCollections mySecondAnnoyingCollection

Exclude paths by regex:

  • --excludePattern <regex> - Patterns to match against paths to exclude from the backup. All subpaths of matched paths will also be excluded.

These patterns can support excluding several different sections of trees, e.g.:

  • Exclude top level collection: ^/collectionToIgnore
  • Exclude sub collections of all documents in a collection: ^/organizations/[^/]*/subcollectionToIgnore
  • Exclude sub collections at a given level: ^/[^/]/[^/]/subcollectionToIgnore
  • Exclude a particular document: ^/organizations/organizationToIgnore

Note: when combining excludePattern with databaseStartPath, the patterns are tested against the full path of the document off the root of database (with a leading slash).

Note: because of how the command line parsing library works multiple exclude patterns must be specified as separate parameters.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase --excludePattern '^/collectionToIgnore' --excludePattern '^/[^/]*/[^/]*/subcollectionToIgnore'

Fetch documents in batches:

  • --batchSize <number - The maximum number of documents to fetch in a single request.

Example:

firestore-backup --accountCredentials path/to/credentials/file.json --backupPath /backups/myDatabase --batchSize 25

Relax:

That's it! ��

Contributions

This project has been made much better by it's contributors, feel free to report bugs and make feature requests in the Issue Tracker, fork and create pull requests!

 相关资料
  • 如何与FireStore执行廉价连接? 雅库布 PS如何实际使用引用数据类型?不幸的是,文档中没有对此进行描述。

  • Node是kubernetes集群的工作节点,可以是物理机也可以是虚拟机。 Node的状态 Node包括如下状态信息: Address HostName:可以被kubelet中的--hostname-override参数替代。 ExternalIP:可以被集群外部路由到的IP地址。 InternalIP:集群内部使用的IP,集群外部无法访问。 Condition OutOfDisk:磁盘空间不足时

  • node 负责 peer node 子命令。

  • 这用于确定进程需要运行的节点的值。 由于分布式编程用于在不同节点上运行函数,因此在希望在不同机器上运行程序时,此功能非常有用。 语法 (Syntax) node() 参数 (Parameters) None 返回值 (Return Value) 这将返回本地节点的名称。 如果节点未分发,则返回nonode@nohost 。 例如 (For example) -module(helloworld)

  • The Po.et Node The Po.et Node allows you to timestamp documents in a decentralized manner. It's built on top of the Bitcoin blockchain and IPFS. Index The Po.et Node Index How to Run the Po.et Node De

  • firebase-firestore-graphql An example of a GraphQL setup with a Firebase Firestore backend. Uses Apollo Engine/Server 2.0 and deployed to Google App Engine. Initial setup npm init --yesnpm install apo