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.
MongoClient
✓ import { MongoClient } from 'effect-mongodb'
✗ import { MongoClient } from 'mongodb'
Use effect-mongodb's MongoClient, not the raw mongodb driver, to get Effect integration.
Collection
✓ import { Collection } from 'effect-mongodb'
✗ import { Collection } from 'mongodb'
Collection from effect-mongodb is Schema-based and returns Effect types.
Db
✓ import { Db } from 'effect-mongodb'
✗ import { Db } from 'mongodb'
Db is used to create Schema-based collections via Db.collection() with a Schema.
DocumentCollection
✓ import { DocumentCollection } from 'effect-mongodb'
Document-prefixed modules skip runtime validation; use for non-schema codebases.
Connects to MongoDB, copies documents from one collection to another using Schema-based Collection and FindCursor, with scoped lifecycle management.
import { Effect, Schema } from 'effect'
import { Collection, Db, FindCursor, MongoClient } from 'effect-mongodb'
const Person = Schema.Struct({
name: Schema.String,
age: Schema.Number,
birthday: Schema.Date
})
const program = Effect.gen(function*() {
const client = yield* MongoClient.connectScoped('mongodb://localhost:27017')
const db = MongoClient.db(client, 'source-db')
const sourceCollection = Db.collection(db, 'source', Person)
const destinationCollection = Db.collection(db, 'destination', Person)
const items = yield* Collection.find(sourceCollection).pipe(FindCursor.toArray)
yield* Collection.insertMany(destinationCollection, items)
})
await program.pipe(Effect.scoped, Effect.runPromise)
Errors
Common errors & fixes
TypeError: (0 , effect_mongodb_1.MongoClient) is not a function
Importing from 'mongodb' instead of 'effect-mongodb'
fixUse import { MongoClient } from 'effect-mongodb'. Cannot find module 'effect-mongodb' or its corresponding type declarations.
Missing installation of effect-mongodb
fixRun npm install effect-mongodb effect mongodb.
Error: Effect.runPromise is not a function
Calling runPromise without importing Effect from 'effect'
fixImport { Effect } from 'effect' and call Effect.runPromise. Audit
Dependencies
effectrequiredCore Effect library for effects, streams, and schema
mongodbrequiredOfficial MongoDB Node.js driver for database operations