Connect Loopback to various Data Sources
Go to file
Partap Davis 1e6c453191 Add Promises to DAO
When a callback is omitted from a DAO method, return a Promise that
resolves to the value normally passed to the callback of that method.
If a callback is provided, behave normally.

This API will use native ES6 promises if available.  If not available,
or to force the use of another Promise library, you must assign the
global.Promise object.

e.g.:
global.Promise = require('bluebird')

Class methods affected:

- create
- updateOrCreate / upsert
- findOrCreate
- exists
- find
- findOne
- findById
- findByIds
- remove / deleteAll / destroyAll
- removeById / deleteById / destroyById
- count
- update / updateAll

Prototype methods affected:

- save
- delete / remove / destroy
- updateAttribute
- updateAttributes
- reload

Exceptions / edge cases:

- create() used to return the data object that was passed in, even if
  no callback was provided.  Now, if a callback is provided, it will
  return the data object, otherwise it will return a Promise.

- If create() is provided an array of data objects for creation, it
  will continue to always return the array. This batch creation mode
  does not support promises.

- findOrCreate() has a callback of the form: cb(err, instance, created),
  with the extra parameter indicating whether the instance was created
  or not. When called with its promise variant, the resolver will
  receive a single array parameter: [instance, created]
2015-02-26 13:45:37 -07:00
docs Fix jsdoc code examples formatting 2014-01-20 10:47:23 +01:00
examples Add a path to show customer.orders(query, cb) 2014-05-16 08:50:58 -07:00
lib Add Promises to DAO 2015-02-26 13:45:37 -07:00
support Fix executable for neo4j travis 2012-03-10 16:31:04 +04:00
test Add Promises to DAO 2015-02-26 13:45:37 -07:00
.editorconfig minor formatting issues (trailing spaces and such) and .editorconfig 2015-02-03 13:08:23 +03:00
.gitignore Add a file option for the memeory connector to persist data 2014-01-29 12:04:09 -08:00
.gitmodules Added Makefile 2011-11-05 17:54:52 +07:00
.jshintignore Add .jshintignore 2013-11-21 19:05:19 +01:00
.npmignore Ignore npm-debug.log 2013-03-30 21:10:20 +04:00
.travis.yml Add travis 2013-11-08 09:14:25 -08:00
CHANGES.md 2.18.1 2015-02-20 21:51:15 -08:00
CONTRIBUTING.md Fix bad CLA URL in CONTRIBUTING.md 2014-12-29 08:27:46 -08:00
LICENSE Update license to dual MIT/StrongLoop 2014-02-17 15:56:56 -08:00
Makefile Clean up docs 2013-07-22 22:32:05 -07:00
README.md Update README.md 2014-12-01 13:22:24 -08:00
docs.json docs.json: add lib/model.js 2014-12-02 08:28:02 +01:00
index.js replace deprecated function __defineGetter__ 2014-12-28 14:14:12 -07:00
package.json 2.18.1 2015-02-20 21:51:15 -08:00

README.md

LoopBack DataSource Juggler

LoopBack DataSource Juggler is an ORM that provides a common set of interfaces for interacting with databases, REST APIs, and other data sources. It was initially forked from JugglingDB.

For full documentation, see the official StrongLoop documentation: Connecting models to data sources

For information on creating data sources programmatically, see Advanced topics: data sources.

Installation

npm install loopback-datasource-juggler

Also install the appropriated connector, for example for mongodb:

npm install loopback-connector-mongodb

See StrongLoop Documentation for more information.