Извлечение создания модели мангуста из файла сервера - PullRequest
0 голосов
/ 24 октября 2018

В настоящее время я создаю универсальный экспресс-API, и мне трудно извлечь код из моего файла server.js

В моем файле server.js есть следующее

app.post('/parser', (req, res) => {  
  var todo = new Todo({
    text: req.body.text,
  });
  todo.save().then((doc) => {
    res.send(doc);
  }, (e) => {
    res.status(400).send(e);
  })
});

Где моя задача - это просто модель Мангуста в отдельном файле

var Todo = mongoose.model('Hello123', {
    text: {
        type: String,
    }
});

module.exports = { Todo };

Я хочу передать любую строку из файла моего сервера в качестве переменной для имени базы данных, поэтому в этом случае передайте любую переменную, гдеУ меня «Hello123»

Возможно ли это сделать?Я пытался экспортировать создание модели как функцию и вызывать ее из файла сервера, однако это не сработало

Не конец света, если я не могу, однако мне нравится сохранять всю функциональностьи т.д. из моего файла server.js, чтобы его было легче читать

1 Ответ

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

Измените файл базы данных, чтобы экспортировать функцию, которая принимает имя модели следующим образом:

module.exports = function(name) {
    var Todo = mongoose.model(name, {
        text: {
            type: String,
        }
    });
    return Todo;
}

Тогда ваш оператор импорта server.js может выглядеть следующим образом:

var modelName = 'Hello123';
var Todo = require('./database.js')(modelName);

Это должноработа.

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