Before this change, when a property was configured with a default value at LoopBack side and the database was returned a record with a missing value for such property, then we would supply use the configured default. This behavior is problematic for reasons explained in #1692. In this commit, we are introducing a new model-level setting called `applyDefaultsOnReads`, which is enabled by default for backwards compatibility. When this setting is set to `false`, operations like `find` and `findOrCreate` will NOT apply default property values on data returned by the database (connector). Please note that most of the other CRUD methods did not apply default values on database data as long as the connector provided native implementation of the operation, that aspect is not changing. Also note that default values are applied only on properties with `undefined` values. The value `null` does not trigger application of default values. This is important because SQL connectors return `null` for properties with no value set. |
||
---|---|---|
.github | ||
docs | ||
examples | ||
intl | ||
lib | ||
support | ||
test | ||
types | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.gitmodules | ||
.npmignore | ||
.npmrc | ||
.nycrc | ||
.prettierignore | ||
.prettierrc | ||
.travis.yml | ||
CHANGES.md | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
LICENSE | ||
NOTICE | ||
README.md | ||
docs.json | ||
index.d.ts | ||
index.js | ||
package.json | ||
tsconfig.json |
README.md
loopback-datasource-juggler
An ORM/ODM that provides a common set of interfaces for interacting with databases, REST APIs, and other types of data sources. It was originally forked from JugglingDB.
Supported versions
This module adopts the Module Long Term Support (LTS) policy, with the following End Of Life (EOL) dates:
Version | Status | Published | EOL |
---|---|---|---|
4.x | Current | Oct 2018 | Apr 2021 (minimum) |
3.x | Active LTS | Dec 2016 | Dec 2019 |
2.x | Maintenance LTS | Jul 2014 | Apr 2019 |
Learn more about our LTS plan in the LoopBack documentation.
Usage
Install Juggler:
npm install loopback-datasource-juggler
Then install a connector:
npm install loopback-connector-mongodb // in this case, the mongodb connector
Documentation
See the LoopBack documentation.
For information on data source connectors, see Connecting models to data sources.