{"id":42717,"library":"eventric-store-mongodb","title":"eventric-store-mongodb","description":"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.","status":"maintenance","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/efacilitation/eventric-store-mongodb","tags":["javascript","eventric","eventric-store","mongodb"],"install":[{"cmd":"npm install eventric-store-mongodb","lang":"bash","label":"npm"},{"cmd":"yarn add eventric-store-mongodb","lang":"bash","label":"yarn"},{"cmd":"pnpm add eventric-store-mongodb","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: core eventric library required for store usage","package":"eventric","optional":false},{"reason":"Peer dependency: MongoDB driver for database operations","package":"mongodb","optional":false}],"imports":[{"note":"Package has default export; CommonJS require works but ESM import is recommended for modern projects.","wrong":"const eventricStoreMongoDb = require('eventric-store-mongodb')","symbol":"default","correct":"import eventricStoreMongoDb from 'eventric-store-mongodb'"},{"note":"Named export for the store class, available in all versions.","wrong":null,"symbol":"EventricMongoDbStore","correct":"import { EventricMongoDbStore } from 'eventric-store-mongodb'"},{"note":"Utility function to connect to MongoDB; available since v0.2.0.","wrong":null,"symbol":"connect","correct":"import { connect } from 'eventric-store-mongodb'"}],"quickstart":{"code":"import eventric from 'eventric';\nimport eventricMongoDbStore from 'eventric-store-mongodb';\n\nconst mongoUrl = process.env.MONGO_URL || 'mongodb://localhost:27017/eventric';\n\nasync function run() {\n  const store = await eventricMongoDbStore.connect(mongoUrl);\n  const context = eventric.createContext({ store });\n\n  // Define an aggregate\n  context.defineAggregate('user', {\n    initialState: { name: '' },\n    commands: {\n      create: (aggregate, cmd) => aggregate.applyEvent('created', { name: cmd.payload.name }),\n    },\n    events: {\n      created: (aggregate, event) => { aggregate.state.name = event.payload.name; },\n    },\n  });\n\n  const userId = await context.commands.user.create({ name: 'Alice' });\n  console.log('User created with ID:', userId);\n\n  const user = await context.aggregates.user.getById(userId);\n  console.log('User:', user.state);\n\n  await store.disconnect();\n}\n\nrun().catch(console.error);","lang":"typescript","description":"Shows how to connect to MongoDB, create an eventric context with the MongoDB store, define an aggregate, execute a command, and retrieve aggregate state."},"warnings":[{"fix":"Consider using eventric's built-in store or a maintained alternative.","message":"Package has not been updated since 2016; API may break with newer eventric versions or MongoDB driver.","severity":"deprecated","affected_versions":">=0.3.0"},{"fix":"Use `const store = await eventricMongoDbStore.connect(url)` instead of `new eventricMongoDbStore()`.","message":"The package exports a default function that must be called to obtain the store object, not a constructor.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Ensure MongoDB is running and accessible at the provided URL.","message":"Requires an active MongoDB instance; no embedded or in-memory fallback.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'0.3.0':19 'adapt':7,66 'aggreg':30 'appear':57 'base':26 'cadenc':51 'core':48 'current':15 'design':42 'differenti':64 'document':75 'ecosystem':40 'event':12,32 'event-sourc':11 'eventr':2,10,29,39,47,68,81,83 'eventric-stor':82 'eventric-store-mongodb':1 'javascript':80 'key':63 'librari':14 'low':53 'mainten':61 'minim':74 'mode':62 'mongodb':4,5,25,71,85 'mongodb-bas':24 'offici':65 'packag':21 'part':36 'persist':72 'project':56 'provid':22 'recent':78 'releas':50 'requir':70 'sourc':13 'stabl':16 'storag':6 'store':3,27,84 'stream':33 'updat':79 'use':45 'user':69 'version':17","created_at":"2026-06-05T16:56:19.470284+00:00","updated_at":"2026-06-05T16:56:19.470284+00:00","problems":[{"fix":"Install eventric: npm install eventric","cause":"eventric peer dependency not installed or not in node_modules","error":"Cannot find module 'eventric'"},{"fix":"Start MongoDB or provide correct MONGO_URL environment variable","cause":"MongoDB not running or wrong connection URL","error":"MongoError: failed to connect to server [localhost:27017] on first connect"},{"fix":"Use `import eventricMongoDbStore from 'eventric-store-mongodb'` then call `eventricMongoDbStore.connect(url)`","cause":"Default import interpreted incorrectly; actual export is default connect function","error":"TypeError: eventricMongoDbStore is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/efacilitation/eventric-store-mongodb#readme","github":"https://github.com/efacilitation/eventric-store-mongodb","docs":null,"changelog":null,"pypi":null,"npm":"eventric-store-mongodb","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}