Я пытаюсь отобразить содержимое моей базы данных на веб-странице. Я хочу сделать это, отображая контент в базе данных в порядке убывания. Я подключился к MongoDB и могу видеть, что мои данные в терминале правильно сохранены. Я просто не могу понять, как отобразить эти сохраненные данные сейчас.
Спасибо!
Файл Server.js.
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: true })
var mongoose = require("mongoose");
mongoose.Promise = global.Promise;
mongoose.connect("mongodb://localhost:27017/node-demo");
var nameSchema = new mongoose.Schema({
Alert: String
});
var User = mongoose.model("User", nameSchema);
app.listen(3000, function() {
console.info('listening on 3000')
})
app.use(express.static(__dirname + '/public'));
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html')
})
app.get('/alertview', (req, res) => {
res.sendFile(__dirname + '/alertview.html')
})
app.post('/', urlencodedParser, function (req, res) {
var myData = new User(req.body);
myData.save()
.then(item => {
res.send("item saved to database");
})
.catch(err => {
res.status(400).send("unable to save to database");
});
});
User.find({},function(err,docs){
console.info(docs);
})
Html-файл, в котором я хочу отображать предупреждения.
<!DOCTYPE html>
<html lang = "en">
<head>
<link rel = "stylesheet" type = "text/css" href = "/alertpageStyle.css" media = "screen" />
<meta charset = "UTF-8">
<title>View Alerts</title>
</head>
<body>
<div class = "header">
<h1>Current Alerts</h1>
</div>
</body>
</html>
То есть используется шаблон Jade jade-lang.com, вам нужно убедиться, что вы настраиваете механизм просмотра с помощью express. expressjs.com/en/guide/using-template-engines.html



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Простой пример с использованием шаблона EJS, по сути, вы передаете свой объект шаблону во время рендеринга. Вы также можете перебирать данные. Тот же подход можно использовать для пакетов Handlebars или Mustache.
var express = require('express');
var path = require('path');
var index = require('./routes/index');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use('/', index);var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>
Вам, вероятно, стоит взглянуть на некоторые пакеты шаблонов, такие как Ejs, Handlebars или Mustache. В противном случае вам нужно будет заглянуть в библиотеку fs с node при создании вашего html файла.