Как получить объект MongoClient из Mongoose? - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно получить объект MongoClient из объекта подключения mongoose, чтобы я мог повторно использовать его для Agenda или где-то еще, где мне нужно.

db.js

// Export the mongoose instance
module.exports = () => {
  mongoose.Promise = global.Promise;
  try {
    console.log('DBURL:', dbConfig.url);
    const { url, options } = dbConfig;
    mongoose
      .connect(url, options)
      .then(() => console.log('DB Connected'), err => console.log(err, options));

    mongoose.connection.on('connected', () => {
      logger.log('info', 'Mongoose default connection opened');
    });

    mongoose.connection.on('error', (err) => {
      // logger.log('error',  'Couldn't able to connect to MongoDB', err);
      // Blow system on db error
      logger.log('info', 'Mongoose default connection opened');
      throw err;
    });

    mongoose.connection.on('reconnected', () => {
      logger.log('info', 'Mongo connection reconnected', arguments);
    });

    mongoose.connection.on('disconnecting', () => {
      logger.log('error', 'Mongoose connection disconnecting', arguments);
    });

    mongoose.connection.on('disconnected', () => {
      logger.log('error', 'Mongoose connection disconnected', arguments);
    });
  } catch (e) {
    console.log("Couldn't connect to mongo:", e);
  }

  return mongoose;
};

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Вы можете получить объект MongoClient, используя следующий метод:

const { MongoClient, ObjectID } = require('mongodb');

 function(req, res) {
 (async function mongo() {
      let client;
      try {
        client = await MongoClient.connect(url, {useNewUrlParser: true});
        debug('Connected correctly to server');

        const db = client.db(dbName);
}
0 голосов
/ 04 сентября 2018
config = require('./configs');
mongoose = require('mongoose');
module.exports = function() {
var db = mongoose.connect(config.db, config.mongoDBOptions).then(
    () => {
        console.log('MongoDB connected')
    },
    (err) => {
        console.log('MongoDB connection error',err)
    }
    );

require('../app/models/xxx.server.model');
require('../app/models/yyy.server.model');
return db;};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...