const MonSQLize = require('../../lib');
const msq = new MonSQLize({
type: 'mongodb',
databaseName: 'test_db',
config: {
useMemoryServer: true // 🔑 启用内存数据库
}
});
await msq.connect(); // 自动使用内存 MongoDBconst msq = new MonSQLize({
type: 'mongodb',
databaseName: 'prod_db',
config: {
uri: process.env.MONGODB_URI // 使用真实数据库
}
});| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
useMemoryServer |
boolean | false |
是否使用内存数据库 |
uri |
string | - | MongoDB 连接 URI |
优先级: 当 useMemoryServer: true 时,会忽略 uri 参数
✅ 配置驱动:通过配置参数显式控制
✅ 单例模式:所有测试共享一个实例
✅ 零风险:生产环境不会误用
✅ 高性能:启动仅需 3 秒,后续 <1ms
config: { useMemoryServer: true }config: { uri: 'mongodb://staging:27017' }config: { uri: process.env.MONGODB_URI }测试代码
↓ config: { useMemoryServer: true }
lib/mongodb/connect.js
↓ 检测到 useMemoryServer
↓ 启动内存 MongoDB(单例)
↓ 返回内存数据库 URI
MongoClient
↓ 连接到内存数据库
测试执行
- 首次启动: ~3 秒
- 后续使用: <1 毫秒(单例)
- connection 套件: 0.43 秒
- find 套件: 0.51 秒
- findPage 套件: 0.50 秒
版本: 1.0(配置驱动)
更新: 2025-11-05