schangxiang@126.com
2025-09-19 0821aa23eabe557c0d9ef5dbe6989c68be35d1fe
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;
}