Creates a new instance of the persistence component.
(optional) a collection name.
(optional) a Mongoose schema.
The MongoDB colleciton object.
The MongoDB connection object.
The connection resolver.
The MongoDB database name.
The logger.
The Mongoose model object.
The configuration options.
The Mongoose schema.
Clears component state.
(optional) transaction id to trace execution through call chain.
callback function that receives error or null no errors occured.
Closes component and frees used resources.
(optional) transaction id to trace execution through call chain.
callback function that receives error or null no errors occured.
Configures component by passing configuration parameters.
configuration parameters to be set.
Convert object value from public to internal format.
an object in public format to convert.
converted object in internal format.
Converts object value from internal to public format.
an object in internal format to convert.
converted object in public format.
Checks if the component is opened.
true if the component has been opened and false otherwise.
Opens the component.
(optional) transaction id to trace execution through call chain.
callback function that receives error or null no errors occured.
Sets references to dependent components.
references to locate the component dependencies.
Generated using TypeDoc
Abstract persistence component that stores data in MongoDB and is based using Mongoose object relational mapping.
This is the most basic persistence component that is only able to store data items of any type. Specific CRUD operations over the data items must be implemented in child classes by accessing
this._collection
orthis._model
properties.Configuration parameters
References
*:logger:*:*:1.0
(optional) ILogger components to pass log messages*:discovery:*:*:1.0
(optional) IDiscovery services*:credential-store:*:*:1.0
(optional) Credential stores to resolve credentialsExample
class MyMongoDbPersistence extends MongoDbPersistence<MyData> { public constructor() { base("mydata", new MyDataMongoDbSchema()); } public getByName(correlationId: string, name: string, callback: (err, item) => void): void { let criteria = { name: name }; this._model.findOne(criteria, callback); }); public set(correlatonId: string, item: MyData, callback: (err) => void): void { let criteria = { name: item.name }; let options = { upsert: true, new: true }; this._model.findOneAndUpdate(criteria, item, options, callback); } } let persistence = new MyMongoDbPersistence(); persistence.configure(ConfigParams.fromTuples( "host", "localhost", "port", 27017 )); persitence.open("123", (err) => { ... }); persistence.set("123", { name: "ABC" }, (err) => { persistence.getByName("123", "ABC", (err, item) => { console.log(item); // Result: { name: "ABC" } }); });