Registry / database / eventric-store-mongodb

eventric-store-mongodb

JSON →
library0.3.0jsnpmunverified

MongoDB storage adapter for the eventric event-sourcing library. Current stable version is 0.3.0. This package provides a MongoDB-based store for eventric aggregates and event streams. It is part of the eventric ecosystem and designed to be used with eventric core. The release cadence is low as the project appears to be in maintenance mode. Key differentiator: official adapter for eventric users requiring MongoDB persistence, but minimal documentation and no recent updates.

npm install eventric-store-mongodb
INSTALL
IMPORT
SIG · EVENTRIC-STORE-MON
E
eventric-store-mongodb
databasejavascriptv0.3.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import eventricStoreMongoDb from 'eventric-store-mongodb'
const eventricStoreMongoDb = require('eventric-store-mongodb')
Package has default export; CommonJS require works but ESM import is recommended for modern projects.
EventricMongoDbStore
import { EventricMongoDbStore } from 'eventric-store-mongodb'
Named export for the store class, available in all versions.
connect
import { connect } from 'eventric-store-mongodb'
Utility function to connect to MongoDB; available since v0.2.0.

Shows how to connect to MongoDB, create an eventric context with the MongoDB store, define an aggregate, execute a command, and retrieve aggregate state.

import eventric from 'eventric'; import eventricMongoDbStore from 'eventric-store-mongodb'; const mongoUrl = process.env.MONGO_URL || 'mongodb://localhost:27017/eventric'; async function run() { const store = await eventricMongoDbStore.connect(mongoUrl); const context = eventric.createContext({ store }); // Define an aggregate context.defineAggregate('user', { initialState: { name: '' }, commands: { create: (aggregate, cmd) => aggregate.applyEvent('created', { name: cmd.payload.name }), }, events: { created: (aggregate, event) => { aggregate.state.name = event.payload.name; }, }, }); const userId = await context.commands.user.create({ name: 'Alice' }); console.log('User created with ID:', userId); const user = await context.aggregates.user.getById(userId); console.log('User:', user.state); await store.disconnect(); } run().catch(console.error);
Debug
Known issues
deprecatedPackage has not been updated since 2016; API may break with newer eventric versions or MongoDB driver.
fix
Consider using eventric's built-in store or a maintained alternative.
affects: >=0.3.0
gotchaThe package exports a default function that must be called to obtain the store object, not a constructor.
fix
Use `const store = await eventricMongoDbStore.connect(url)` instead of `new eventricMongoDbStore()`.
affects: >=0.1.0
gotchaRequires an active MongoDB instance; no embedded or in-memory fallback.
fix
Ensure MongoDB is running and accessible at the provided URL.
affects: >=0.1.0
Errors
Common errors & fixes
Cannot find module 'eventric'
eventric peer dependency not installed or not in node_modules
fix
Install eventric: npm install eventric
MongoError: failed to connect to server [localhost:27017] on first connect
MongoDB not running or wrong connection URL
fix
Start MongoDB or provide correct MONGO_URL environment variable
TypeError: eventricMongoDbStore is not a function
Default import interpreted incorrectly; actual export is default connect function
fix
Use `import eventricMongoDbStore from 'eventric-store-mongodb'` then call `eventricMongoDbStore.connect(url)`
Upgrade
Version history
0.3.0latest on npm
Audit
Dependencies
eventricrequiredPeer dependency: core eventric library required for store usage
mongodbrequiredPeer dependency: MongoDB driver for database operations
Agent activity
8 hits · last 30 days
node
6
Resources
eventric-store-mongodb — npm install eventric-store-mongodb · libregistry