fix: mongo内存泄漏

This commit is contained in:
Archer
2023-03-10 18:54:51 +08:00
parent 65da4653bc
commit 453f3be8ce
6 changed files with 69 additions and 55 deletions

View File

@@ -1,18 +1,28 @@
import mongoose from 'mongoose';
import type { Mongoose } from 'mongoose';
let cachedClient: Mongoose;
export async function connectToDatabase() {
if (cachedClient && cachedClient.connection.readyState === 1) {
return cachedClient;
/**
* 连接 MongoDB 数据库
*/
export async function connectToDatabase(): Promise<void> {
// @ts-ignore
if (global.mongodb) {
return;
}
// @ts-ignore
global.mongodb = 'connecting';
console.log('connect mongo');
try {
// @ts-ignore
global.mongodb = await mongoose.connect(process.env.MONGODB_URI as string, {
dbName: 'doc_gpt',
maxPoolSize: 10,
minPoolSize: 1
});
} catch (error) {
console.error('mongo connect error');
// @ts-ignore
global.mongodb = null;
}
cachedClient = await mongoose.connect(process.env.MONGODB_URI as string, {
dbName: 'doc_gpt'
});
return cachedClient;
}
export * from './models/authCode';