Mongoose зависает при поиске ()

Я разрабатываю бэкэнд для сайта. Основное приложение использует KeystoneJS для предоставления пользовательского интерфейса администратора тем, кто создает контент, а Keystone работает поверх MongoDB (в частности, mongoose). Контент подается на основной веб-сайт и в мобильное приложение, поэтому для предоставления им серверного API-интерфейса я пишу отдельное приложение Express.

Внутренний сервер пытается получить доступ к базе данных Mongo с помощью mongoose. Я звоню mongoose.connect() используя следующую строку подключения и параметры:

var db_connection = 'mongodb://db_user:db_pass@localhost:27017/db';
var db_options = { 
    autoReconnect: false, 
    bufferMaxEntries: 0,
    poolSize: 10,
};

Соединение успешно открыто, как зарегистрировано mongoose.connection.on('connected', ...); и я могу вручную просмотреть базу данных с помощью оболочки MongoDB, чтобы убедиться, что в базе есть документы.

Тем не менее, когда я пытаюсь запросить базу данных, используя:

var events = Event.find();
events.exec((err, events) => {
    console.log('/api/events: events found, sending to client');
    if (err) res.send(err);
    res.json(events);
}).catch(err => console.log('error: ' + err));

где Event является keystone.list('Event').model, запрос зависает и exec обратный вызов никогда не вызывается, так как консольный журнал никогда не печатается на терминал.

Я правильно инициализировал Keystone и импортировал модели, поэтому не думаю, что проблема связана с моделью Keystone, а с самой mongoose. Кроме того, если я выполню приведенный выше код внутри приложения Keystone, он будет успешно запущен, но не в моем бэкэнд-приложении Express.

0 ответов

Другие вопросы по тегам