Package Exports
- firebase-functions-helper
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (firebase-functions-helper) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
firebase-functions-helper
A helper NPM package for Firebase Cloud Functions
Installation
Install using npm.
npm install firebase-functions-helperGet Google Cloud Account Credentials from Firebase
You can Generate New Private Key from Project Settings from Firebase Console.
After that you need to copy the databaseURL for initiating the App.
Usage
Initialize Firebase App
This is the first step that you need to do before doing any other actions.
const firebaseFunctionsHelper = require('firebase-functions-helper');
const serviceAccount = require('./serviceAccountKey.json');
// Initialize Firebase App
firebaseFunctionsHelper.initializeApp(serviceAccount, databaseURL);Get Firestore Collection with Sub Collection
// Start exporting your collection
var result = firebaseFunctionsHelper.backup('collection-name', 'sub-collection-optional');
result.then(data => console.log(data))Import data to firestore
This code will help you to import data from a JSON file to firestore
// Start exporting your data
firebaseFunctionsHelper.restore('your-file-path.json');The JSON is formated as below. The collection name is test. first-key and second-key are document ids.
{
"test" : {
"first-key" : {
"email" : "dungnq@itbox4vn.com",
"website" : "dalenguyen.me",
"custom" : {
"firstName" : "Dale",
"lastName" : "Nguyen"
}
},
"second-key" : {
"email" : "test@dalenguyen.me",
"website" : "google.com",
"custom" : {
"firstName" : "Harry",
"lastName" : "Potter"
}
}
}
}Create a document with id in firestore
// Initialize Firebase App
const app = firebaseFunctionsHelper.initializeApp(serviceAccount, databaseURL);
const db = app.firestore;
firebaseFunctionsHelper.createDocumentWithId(db, 'collection-name', 'document-id', data);Create a new document without an ID
// Initialize Firebase App
const app = firebaseFunctionsHelper.initializeApp(serviceAccount, databaseURL);
const db = app.firestore;
firebaseFunctionsHelper.createNewDocument(db, 'collection-name', data);Update a document
This action will only update the current key inside the document, if the data doesn't exist, it will create a new one. However, it will not create a new document if the document doesn't exist in the first place.
// Initialize Firebase App
const app = firebaseFunctionsHelper.initializeApp(serviceAccount, databaseURL);
const db = app.firestore;
firebaseFunctionsHelper.updateDocument(db, 'collection-name', 'document-id', data);Delete a document
// Initialize Firebase App
const app = firebaseFunctionsHelper.initializeApp(serviceAccount, databaseURL);
const db = app.firestore;
firebaseFunctionsHelper.deleteDocument(db, 'collection-name', 'document-id');Contributions
This project is based on firebase-functions-snippets, feel free to report bugs and make feature requests in the Issue Tracker, fork and create pull requests!