What is @firebase/database?
The @firebase/database package is a client library for Firebase Realtime Database, a cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client. It offers APIs that allow developers to easily store and sync data across multiple clients and platforms.
What are @firebase/database's main functionalities?
Realtime Data Syncing
This feature allows you to listen for and receive data in realtime from the Firebase database. Whenever data changes, the event is triggered and the callback function is executed with the updated data.
firebase.database().ref('/path/to/data').on('value', (snapshot) => {
const data = snapshot.val();
console.log(data);
});
Data Writing
Enables you to write data to a specified path in your Firebase database. This can be used to add new data or overwrite existing data at the path.
firebase.database().ref('/path/to/data').set({
username: 'name',
email: 'email@example.com',
profile_picture : 'imageUrl'
});
Data Reading
Allows you to read data from your Firebase database. This method fetches data once without listening for changes.
firebase.database().ref('/path/to/data').once('value').then((snapshot) => {
const data = snapshot.val();
console.log(data);
});
Data Deleting
This feature enables you to delete data from your Firebase database at a specified path.
firebase.database().ref('/path/to/data').remove();
Other packages similar to @firebase/database
pouchdb
PouchDB is an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser. It allows you to store data locally while offline, then synchronize it with CouchDB and compatible servers when the application is back online, similar to the realtime syncing capabilities of @firebase/database.
realm
Realm is a mobile database that runs directly inside phones, tablets or wearables. It offers realtime and offline data storage/syncing. Realm differs from @firebase/database in that it's more focused on local storage, but it also supports syncing data with the cloud.
rxdb
RxDB (Reactive Database) is a realtime NoSQL database for JavaScript Applications. It supports reactive data queries so you can program in a reactive style. This is similar to @firebase/database's realtime data syncing but RxDB uses a different approach, focusing on the reactive programming paradigm.
@firebase/database
This is the realtime database component for the Firebase JS SDK. It has a peer
dependency on the @firebase/app
package on NPM. This package
is included by default in the firebase
wrapper
package.
Installation
You can install this package by running the following in your project:
$ npm install @firebase/database
Usage
You can then use the firebase namespace exposed by this package as illustrated
below:
ES Modules
import firebase from '@firebase/app';
import '@firebase/database'
CommonJS Modules
const firebase = require('@firebase/app').default;
require('@firebase/database');
Documentation
For comprehensive documentation please see the Firebase Reference
Docs.