Как экспортировать многие модули моделей Мангуста в node.js - PullRequest
1 голос
/ 17 июня 2019

У меня есть 2 модели, подобные этой

const Db = mongoose.model('db', dbSchema); 
const Beacon = mongoose.model('beacon', dbSchema2);

Теперь я хочу их экспортировать. Сначала я экспортирую Db, и все в порядке. Я могу сделать запрос HTTP с ним.

module.exports = Db;

Однако, когда я пытаюсь экспортировать второй, он перестает работать. Функции ниже вернут пустой JSON-файл в качестве ответа.

module.exports = Db;
module.exports = Beacon;

Это тоже не сработает. Он возвращает обработчик ошибок, говорящий, что все мои функции в обработчике не являются функциями.

module.exports = {
Db, Beacon
}

Это функция для файла, который я импортирую модели.

router.get('/data/:id', function(req, res, next) {
    Db.findOne({ _id: req.params.id }).then(function(db) { 
        res.send(db);
    });
}

Возвращаемое значение из обработчика: Db.findOne не является функцией.

Есть ли способ экспортировать их обоих? Спасибо. Вот импорт в другой файл

const Db = require('./db.js');
const Beacon = require('.db.js');

1 Ответ

1 голос
/ 17 июня 2019

Это должно работать:

Экспорт в один файл

module.exports = { Db, Beacon };

Затем импортирует в другой файл

const { Db, Beacon } = require('path-to-db.js');

// use them
Db.doSomething(); 
Beacon.doSomethingElse();

Обратите внимание, что для этого используется ECMAS 6 Назначение деструктурирования (дополнительная информация о MDN )

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