Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

olivierkaisin/node-mysql-on-the-rocks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MySQL On The Rocks alt text Build Status

A dead-simple Node.js module designed for handling storage / retrieval of Javascript objects to MySQL.

The underlying layer uses Q for Promises and node-mysql as adapter.

Quick example

"use strict";


var mysql = require("mysql-on-the-rocks");


// First you need to create a connection to the db
mysql.create({
  host: "localhost",
  port: 3306,
  user: "admin", 
  password: "abcdefgh"
}).then(function (db) {

  // Retrieve an object
  return db.findObject("wallets", { 
    id: 123 
  }).then(function (obj) {

    // Update it
    obj.dollars += 100;
    
    // Save to the db
    return db.save(obj);
  });

}).fail(function (error) {
  // ...
}).done();

API Reference

mysql.findObjects(tableName, query, [order, count, offset])

Finds an object in the database.

Argument Type Description
tableName String Name of the table to query on
query Object An object describing the query
order Object An object with fields as keys and order direction as values.
count Number The max amount of objects to return
offset Number The starting offset of the result set

Returns Promise<Object>


mysql.findObject(tableName, query, [order, offset])

Alias of mysql.findObjects with count set at 1.


mysql.save(tableName, obj)
Argument Type Description
tableName String Name of the table to query on
obj Object The object to save

Returns Promise<Object>

If the object has an id already, it will be updated, otherwise it will be inserted and the id will be appended.


mysql.insertObject(tableName, obj)

and

mysql.updateObject(tableName, obj)

See mysql.save()


mysql.deleteObject(tableName, object)
Argument Type Description
tableName String Name of the table to query on
obj Object The object to delete (id must be defined)

Returns Promise<Object>

Deletes the object from the table.


mysql.findObjectsWithQuery(queryString)
Argument Type Description
queryString String The MySQL query

Returns Promise<Object>

Use this method if you want to retrieve objects and not use the internal query builder.


mysql.query(queryString)
Argument Type Description
queryString String The MySQL query

Returns Promise<Object>

You probably won't use this method that much, but it allows you to call manually the internal query() method of the MySQL driver.

Examples

Save and update an object

mysql.save("users", {
  email: "[email protected]"
}).then(function (user) {
  // .. user.id is now defined!
  
  // Let's update the email now
  user.email = "[email protected]";
  return mysql.save("users", user);
}).fail(function (error) {
  // ...
}).done();

Retrieve a set of objects

var tableName = "users";

var query = { 
  planCode: "pro"
};

var order = {
  created: "desc"
};


mysql.findObjects(
  tableName, query, order, 100
).then(function (users) {
  // .. do something with the received users  
}).fail(function (error) {
  // .. handle the error
}).done();

License

MIT

About

Dead-simple MySQL module for Node.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published