Overview
LoopBack's built-in memory connector enables you to test your application without connecting to an actual persistent data source such as a database. Although the memory connector is very well tested it is not suitable for production.
The memory connector supports:
- Standard query and create, read, update, and delete (CRUD) operations, so you can test models against an in-memory data source.
- Geo-filtering when using the
find()
operation with an attached model. See GeoPoint class for more information on geo-filtering.
Creating a data source
By default, an application created with the Application generator has a memory data source defined; for example:
"db": { "name": "db", "connector": "memory" }
Use the Data source generator to add a new memory data source to your application.
Memory connector properties
Property | Type | Description |
---|---|---|
name | String | Name by which you refer to the data source. |
connector | String | Must be "memory" to use the memory connector. |
file | String | Path to file where the connector will store data, relative to application root directory. NOTE: The connector will create the file if necessary, but the directory containing the file must exist. |
Data persistence
By default, data in the memory connector are transient. When an application using the memory connector exits, all model instances are lost. To maintain data across application restarts, specify a JSON file in which to store the data with the file
property when creating the data source. For example:
var memory = loopback.createDataSource({ connector: loopback.Memory, file: "mydata.json" });
When the application exits, the memory connector will then store data in the mydata.json
file, and when it restarts will load the saved data from that file.