Connect Loopback to various Data Sources
Go to file
Partap Davis 29eb3434c7 Promisify model relation methods
When a callback is omitted from a method on a model relation that
supports promises, return that promise.  This includes all the standard
DAO methods, as well as any user-defined methods that return promises.

e.g.:
mylist.todos.create({name: 'Item 1'}) // returns Promise

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')

Relations affected:

- BelongsTo
- HasOne
- HasMany
- HasManyThrough
- HasAndBelongsToMany
- ReferencesMany
- EmbedsOne

Exceptions:

The EmbedsMany relation has not been promisified, because most of the
methods return synchronous values.

The base relation getter method [e.g.: mylist.todos()] has not been
promisified, due to its default caching behavior.

New Methods:

- getAsync(condition, cb)

A new method "getAsync()" has been added to all relations except
EmbedsMany, which always fetches from the datasource rather than from
the cache.  It takes an optional "where" condition (except for HasOne
and BelongsTo) and an optional callback.  If the callback is omitted,
a Promise is returned.
2015-04-07 11:41:07 +02: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 Promisify model relation methods 2015-04-07 11:41:07 +02:00
support Fix executable for neo4j travis 2012-03-10 16:31:04 +04:00
test Promisify model relation methods 2015-04-07 11:41:07 +02: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.23.0 2015-04-01 18:48:22 +02: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 Deprecate Model hooks 2015-02-27 16:58:24 +01: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.23.0 2015-04-01 18:48:22 +02: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.