Я настраиваю сервер node.js, который постоянно проверяет базу данных mongo на наличие новых записей. Если появляется новая запись, сайт html должен обновляться без перезагрузки и с данными из базы данных.
Я уже могу получать данные каждый раз, когда создается новая запись, но я не могу обновить сайт.
Я посмотрел некоторые возможные инструменты, такие как ajax или Reaction.js, но я просто не могу найти идеальное решение (или даже решение), как это могло бы работать.
Подключение к Mongodb и получение данных
MongoClient.connect('mongodb://192.168.128.128:27017/familientag', function(err, client) {
if (err) {
console.error('An error occurred connecting to MongoDB: ', err);
} else {
const db = client.db("familientag")
const collection = db.collection('data');
console.log("Connected successfully to server");
const changeStream = collection.watch();
changeStream.on('change', next => {
console.log(next.fullDocument['name']);
// Here I receive the data "_id" and "name"
});
}
});
Мой index.ejs
<!DOCTYPE html>
<html>
<head>
<title>Dies ist ein Test</title>
</head>
<body>
<div id="target">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$.ajax({
type: 'GET',
url: '/test',
success: function(data) {
var html = data;
$('#target').html(html);
}
});
</script>
</body>
</html>
индекс вызова
app.get('/index', function (req, res) {
res.render('index');
});
Я ожидаю увидеть имя на сайте индекса каждый раз, когда новый набор данных будет прочитан из БД без перезагрузки окна.