@ccvc

Консоль выводит данные масива из бд 2 раза, как исправить?

const express = require('express');
const MongoClient = require('mongodb').MongoClient;

const app = express();
app.set('views', './public/views')
app.set('view engine', 'ejs');
app.use(express.static('public'))

// Данные сервера и базы данных
const PORT = 3000;
const urldb = 'mongodb://localhost:27017/';
const namedb = 'I-LIGHT-db'
let db;

// Подключение к базе данных
async function ConnectToDb() {
    try {
        const connect = await MongoClient.connect(urldb);
        db = connect.db(namedb);
        console.log(`Подключение к базе данных ${namedb} по адресу ${urldb} было установлено успешно!`);
    } catch(err) {
        console.log(`Произошла ошибка при подключении к базе данных: ${err}`);
        process.exit(1)
    }
}

// Обработка ответа сервера
app.get('/', async (req, res) => {
    try {
        if (!db) {
            await ConnectToDb();
        }

        const getDataProducts = db.collection('products').find({}).limit(4)
        const dataProducts = await getDataProducts.toArray()
        
        res.render('index', {data: dataProducts})
        console.log(dataProducts);
    } catch(err) {
        console.log(`Произошла ошибка при подключении к базе данных: ${err}`);
    }
})
app.get('/getDataProducts', async (req, res) => {
    const result = await db.collection('products').find({}).toArray()
    res.json(result)
})

// Создаем сервер
app.listen(PORT, () => {
    console.log(`Сервер запущен на порту: ${PORT}`);
})

вместо получения 1 масива с 4 объектами, получаю 2 масива
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы