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 масива