Возвращает все документы из функции с помощью MongoDB и показывает их с помощью express

#javascript #mongodb #express #module

#javascript #mongodb #экспресс #модуль

Вопрос:

Как я могу отобразить все документы из MongoDB, используя функцию, которая подключается к клиенту и получает значения. Пробовал использовать toArray метод, но идентификатор не отображается, когда я отправляю его в качестве ответа postman.

database.js

 exports.getFromDb = (uri) => {
 MongoClient.connect(uri, (err, db) => {
    if (err) throw err;
    var dbo = db.db("ToDoList");
     var documents = dbo.collection("ToDo").find({});})}
  

index.js

 app.get("/", (req, res) => {
    return res.json(getFromDb(uri))
});
 
  

Комментарии:

1. Я рекомендую рассматривать этот репозиторий как хорошую отправную точку для того, что вы хотите сделать. github.com/bezkoder/node-express-mongodb .

Ответ №1:

Когда вы извлекаете что-то из базы данных, вы должны дождаться возврата.

Что-то вроде этого.

 app.get("/", async (req, res) => {
    try {
        const data = await getFromDb(uri);
        return res.status(200).json(data);
    } catch (err) {
        ...
    }
});
  

Комментарии:

1. Он показывает значение, когда я использую console.log в database.js но если я отправлю это значение через ответ или console.log его в index.js , это дает неопределенный результат.