333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'use strict';
const MongoDB = require('@brickyang/easy-mongodb').default;
 
module.exports = app => {
  app.addSingleton('mongo', createMongo);
};
 
function createMongo(config, app) {
  const client = new MongoDB(config);
  const connectUrl = client.url.replace(
    /:\S*@/,
    `://${client.config.user}:******@`
  );
 
  client.on('connect', () => {
    app.coreLogger.info(`[egg-mongo] Connect success on ${connectUrl}.`);
  });
  /* istanbul ignore next */
  client.on('error', error => {
    app.coreLogger.warn(`[egg-mongo] Connect fail on ${connectUrl}.`);
    app.coreLogger.error(error);
  });
 
  app.beforeStart(async () => {
    app.coreLogger.info('[egg-mongo] Connecting MongoDB...');
    await client.connect();
  });
 
  return client;
}