Как модель мангуста соединяется с mongodb? - PullRequest
0 голосов
/ 25 мая 2018

Я структурировал коллекцию user с помощью mongoose.model (). Эта модель существует в отдельном файле с именем model\user.js.Экземпляр соединения mongodb (использующий mongoose) существует в отдельном файле db\mongoose.js.Оба эти файла импортируются в server.js для работы с веб-приложением.

var express = require('express');
var bodyParser = require('body-parser');

var {mongoose} = require('./db/mongoose');
var {User} = require('./models/user');

var app = express();

app.use(bodyParser.json());

app.post('/todos', (req, res) => {
  var user = new User({
    text: req.body.text
  });

  user.save().then((doc) => {
    res.send(doc);
  }, (e) => {
    res.status(400).send(e);
  });
});

app.listen(3000, () => {
  console.log('Started on port 3000');
});

module.exports = {app};

{mongoose} и {User} кажутся отдельными объектами, а model\user.js не импортировал ./db/mongoose.jsтакже .* user model является статическим содержимым, как user.save() соединяется с БД и сохраняет документ?

1 Ответ

0 голосов
/ 26 мая 2018

Прежде всего позвольте мне рассказать вам, что происходит в вашем проекте.

в файле Mongoose:

  • У вас есть соединение с БД с Mongoose.Теперь у Mongoose есть соединение с БД.

Именно поэтому оно импортировано в файл server.js.

Во-вторых, в вашей модели / user.js у вас есть

  • Объявленная схема с использованием метода Mongoose.
  • user.save.

Когда вы используете Mongoose здесь (или любой запрос, связанный с БД), он указывает на вашу подключенную БД.Который не требует какого-либо явного соединения, записанного в каком-либо файле.

Для получения более подробной информации читайте Mongoose Docs .

Надеюсь, я очистил ваши мысли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...