@banana-universe/plugin-mongoose
v0.1.1
Published
Mongoose plugin for BananaJS — Connection registration, @Transactional (sessions), and Repository adapter.
Readme
@banana-universe/plugin-mongoose
Mongoose integration plugin for BananaJS with session-based transaction support.
Homepage
https://surya-manne.github.io/banana-universe/
Installation
npm install @banana-universe/plugin-mongoose mongoose reflect-metadataCore API Surface
MongoosePlugin(connection)Transactional()MongooseTransactionContext
Minimal Working Setup
import mongoose from 'mongoose';
import { BananaApp } from '@banana-universe/bananajs';
import { MongoosePlugin } from '@banana-universe/plugin-mongoose';
const connection = await mongoose.createConnection('mongodb://127.0.0.1:27017/banana').asPromise();
await BananaApp.create({
controllers: [],
plugins: [MongoosePlugin(connection)],
});Transactional Method Example
import { Transactional, MongooseTransactionContext } from '@banana-universe/plugin-mongoose';
class InventoryService {
@Transactional()
async reserve() {
const session = MongooseTransactionContext.getSession();
// pass { session } to model operations
}
}Documentation
- Project docs: https://surya-manne.github.io/banana-universe/
License
MIT
