У меня есть файл, в котором настроен mongoose
const keys = require('../chat/config/keys');
const mongoose = require('mongoose');
const dbURI = keys.mongoURI;
mongoose.connect(dbURI, { useNewUrlParser: true });
mongoose.set('debug', true);
let fetchVideo;
mongoose.connection.once('open', function () {
console.log('Mongoose default connection open to ' + dbURI);
let connectToDB = mongoose.connection.db;
let videoChatDB = connectToDB.collection('videochat');
fetchVideo = ({ id }) => {
if (id !== '100') {
videoChatDB.findOne({'studentID': parseInt(id)}).then((user) => {
if (user) {
console.log(user);
return true;
} else {
console.log(user);
return false;
}
});
}
}
});
module.exports = { fetchVideo };
И мне нужен этот файл внутри моего index.js файла, например, так:
let db = require('./db');
В моем индексном файле у меня есть соединение с сокетом, и мне нужно проверить базу данных, когда приходит новый пользователь.
socket.on('new-user', async (user) => {
let checkAvail = await db.fetchVideo(user);
});
Но я получаю эту ошибку:
TypeError: db.fetchVideo не является функцией
Я предполагаю, что он не определен, так как он объявлен внутри асинхронной функции.
Как мне заставить это работать?