Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

database-js-firebase

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

database-js-firebase

Database-js interface for Firebase

  • 1.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
69K
increased by4622.41%
Maintainers
1
Weekly downloads
 
Created
Source

database-js-firebase

Build Status

Database-js interface for Firebase

About

Database-js-firebase is a database-js wrapper around the Firebase database library. It creates a Promises wrapper around an SQL to Firebase (NoSQL) interpreter.

It significantly restricts the structure Firebase as well as the access to Firebase. Right now access is limited to email and password.

Data must be stored using Firebase's ref.push. SQL commands are limited to CREATE, SELECT, UPDATE, INSERT and DELETE. WHERE, GROUP BY, and LIMIT are all functional. INNER JOIN, LEFT JOIN and RIGHT JOIN work, OUTER JOIN is not supported. Aggregate functions COUNT and SUM are supported.

CREATEs do not create a table structure because Firebase does not need a table to exist in order to insert data.

While a SELECT command can return a JSON object for a given field, JSON values cannot be UPDATEd or INSERTed, or be part of a WHERE clause.

RunKit Demo

Install

npm install database-js-firebase

Usage

If your Firebase data is structured as:

"$uid": {
    "users": {
        "firebase-autogenerated-key": {
            "username": "dduck",
            "fullname": "Donald Duck",
            ...
        },
        "firebase-autogenerated-key": {
            "username": "mmouse",
            "fullname": "Mickey Mouse",
            ...
        },
        ...
    }
}

Then your access will be like:

var Database = require('database-js2');

(async () => {
    let connection, statement, rows;
    connection = new Database('database-js-firebase://[my_email]:[my_password]@[project_id]/[root_node_path]?apiKey=[API KEY]');
    
    try {
        statement = await connection.prepareStatement("SELECT * FROM users WHERE username = ?");
        rows = await statement.query('dduck');
        console.log(rows);
    } catch (error) {
        console.log(error);
    } finally {
        await connection.close();
    }
})();

License

MIT (c) mlaanderson

Keywords

FAQs

Package last updated on 19 Jul 2018

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc