loopback-connector-mongodb
The official MongoDB connector for the LoopBack framework.
Please see the full documentation at loopback.io.
Customizing MongoDB configuration for tests/examples
By default, examples and tests from this module assume there is a MongoDB server instance running on localhost at port 27017.
To customize the settings, you can drop in a .loopbackrc file to the root directory
of the project or the home folder.
Note: Tests and examples in this project configure the data source using the deprecated ‘.loopbackrc’ file method, which is not suppored in general. For information on configuring the connector in a LoopBack application, please refer to loopback.io.
The .loopbackrc file is in JSON format, for example:
{
"dev": {
"mongodb": {
"host": "127.0.0.1",
"database": "test",
"username": "youruser",
"password": "yourpass",
"port": 27017
}
},
"test": {
"mongodb": {
"host": "127.0.0.1",
"database": "test",
"username": "youruser",
"password": "yourpass",
"port": 27017
}
}
}
Note: username/password is only required if the MongoDB server has authentication enabled.
Additional Settings
allowExtendedOperators - false by default, true allows to use mongo operators like
$currentDate, $inc, $max, $min, $mul, $rename, $setOnInsert, $set, $unset, $addToSet,
$pop, $pullAll, $pull, $pushAll, $push, $bit.
enableGeoIndexing - false by default, true enables 2dsphere indexing for model properties
of type GeoPoint. This allows for indexed near queries etc.
Running tests
The tests in this repository are mainly integration tests, meaning you will need to run them using our preconfigured test server.
- Ask a core developer for instructions on how to set up test server credentials on your machine
npm test
Running benchmarks
Benchmarks must be run on a Unix-like operating system.
make benchmarks
The results will be output in ./benchmarks/results.md.
Leak detection
Tests run for 100 iterations by default, but can be increased by setting the
env var ITERATIONS.
make leak-detection # run 100 iterations (default)
or
ITERATIONS=1000 make leak-detection # run 1000 iterations
Release notes
- 1.1.7 - Do not return MongoDB-specific _id to client API, except if specifically specified in the model definition