Используйте Mongoose в файле экспресс-маршрута - PullRequest
0 голосов
/ 21 октября 2018

Я работаю в экспресс-приложении с Mongo, и у меня есть следующий код:

import indexRoute from './routes/index';
...
let db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
db.once('open', function() {
   console.log("Connected to MongoDB");
   ...
   app.use('/v1', indexRoute);
   ...
});

и ./routes/index.js выглядит следующим образом:

import express from 'express';
const router = express.Router();
router.get('/', (req, res) => {
  // I NEED TO USE MONGOOSE HERE
  ...
  res.json({resp});
});
...
export default router;

Как я могу использоватьMongoose в index.js файл, ранее инициализированный?

Спасибо всем!

1 Ответ

0 голосов
/ 21 октября 2018

Вы неправильно импортировали импорт.Удалите импортированные маршруты из файла Мангуста.Затем экспортируйте mongoose.

const mongoose = require('mongoose');
let db = mongoose.connection;
mongoose.connect(
    'mongodb://localhost:27017/your-db',
    options,
    err => {
      console.log(err);
  },
);

module.exports = mongoose;

Затем вы можете импортировать mongoose и использовать его, как и ожидалось.

import express from 'express';
import connection from './mongoose.js' // Or what ever / wherever the above file is.
const router = express.Router();
router.get('/', (req, res) => {
  connection.find({}).then(model => {   // <-- Update to your call of choice.
      res.json({model});
  });
});
export default router;

У Mozilla есть хороший учебник, если вы хотите узнать больше:

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose

Редактировать

Пример структуры файла может быть следующим:

 - database
     - mongoose_connection.js <-- where top code section goes
 - Router
     - routes.js <-- where you put your router information from second code section
 - index.js <-- Where the entry point to your application is.

Тогда в пределах индекса вы можете использовать

import routes from './router/routes'
express.use('/', routes)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...