MongoDB connector for loopback-datasource-juggler.
To use it you need [email protected]
.
-
Setup dependencies in
package.json
:{ ... "dependencies": { "loopback-datasource-juggler": "1.0.x", "loopback-connector-mongodb": "1.0.x" }, ... }
-
Use:
var DataSource = require('loopback-datasource-juggler').DataSource; var ds = new DataSource('mongodb'); ...
MongoDB uses a specific ID field with BSON ObjectID
type, named _id
This connector does not expose MongoDB _id
by default, to keep consistency with other connectors. Instead, it is transparently mapped to the id
field - which is declared by default in the model if you do not define any id
.
If you wish to still be able to access _id
property, you must define it explicitely as your model ID, along with its type.
Example :
var ds = app.dataSources.db;
MyModel = ds.createModel('mymodel', {
_id: { type: ds.ObjectID, id: true }
});
*Example with a Number _id :
MyModel = ds.createModel('mymodel', {
_id: { type: Number, id: true }
});
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.
The .loopbackrc file should be 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.
npm test
- 1.1.7 - Do not return MongoDB-specific _id to client API, except if specifically specified in the model definition