node-cqrs-mongo

0.4.3 • Public • Published

MongoDB Event Storage for node-cqrs

Usage

npm install node-cqrs node-cqrs-mongo --save

A configured instance of MongoEventStorage must be passed in as "storage" option to the EventStore constructor:

const { EventStore } = require('node-cqrs');
const MongoEventStorage = require('node-cqrs-mongo');
 
const storage = new MongoEventStorage({
    connectionString: 'mongodb://username:password@localhost:27017/db',
    eventsCollection: 'events'
});
 
const eventStore = new EventStore({ storage });
 
eventStore.commit([
    { aggregateId: 1, aggregateVersion: 1, type: 'somethingHappened', payload: {} }
]);

The same, using DI container:

const { EventStore, Container } = require('node-cqrs');
const MongoEventStorage = require('node-cqrs-mongo');
 
// create container instance
const container = new Container();
 
// register MongoEventStorage as "storage"
container.registerInstance({ connectionString: 'mongodb://username:password@localhost:27017/db' }, 'mongoConfig');
container.register(MongoEventStorage, 'storage');
 
// register EventStore as "eventStore"
container.register(EventStore, 'eventStore');
 
// commit events to eventStore
container.eventStore.commit([
    { aggregateId: 1, aggregateVersion: 1, type: 'somethingHappened', payload: {} }
]);

Dependencies (3)

Dev Dependencies (2)

Package Sidebar

Install

npm i node-cqrs-mongo

Weekly Downloads

3

Version

0.4.3

License

MIT

Last publish

Collaborators

  • snatalenko