UNPKG

ts-cache-mongoose

Version:

Cache plugin for mongoose Queries and Aggregate (in-memory, redis)

31 lines (24 loc) 699 B
import fs from 'node:fs' import mongoose from 'mongoose' import { MongoMemoryServer } from 'mongodb-memory-server' export const server = (dbName: string) => { let mongo: MongoMemoryServer const dbPath = `./tests/mongo/${dbName}` const create = async () => { fs.mkdirSync(dbPath, { recursive: true }) mongo = await MongoMemoryServer.create({ instance: { dbName, dbPath, }, }) const uri = mongo.getUri() await mongoose.connect(uri) } const destroy = async () => { await mongoose.connection.dropDatabase() await mongoose.connection.close() await mongo.stop({ doCleanup: true, force: true }) } return { create, destroy } }