【发布时间】:2018-06-20 04:48:33
【问题描述】:
我正在尝试将我的 MongoDB 数据注入 HTML,但我不断收到以下信息: “错误:每个都不匹配”,我尝试更改几行,但仍然收到此错误,这是我第一个使用 MongoDB 或数据库的项目。 我需要更改什么才能使我的代码正常工作?是 HTML 还是节点问题?
HTML
{{#each ideas}}
<div>
<p>{{tip}}</p>
</div>
{{/else}}
server.js
const path = require('path');
const express = require('express');
const exphbs = require('express-handlebars');
const bodyParser = require('body-parser')
const mongoose = require('mongoose');
const handlebars = require('handlebars')
const app = express();
//map global promise - get rid of warning
mongoose.Promise = global.Promise;
// connect to mongoose
mongoose.connect('mongodb://localhost/peppino-calc', {
useMongoClient: true
})
.then(() => { console.log('MongoDB connected...')})
.catch(err => console.log(err));
//Load salaryModel
require('./modles/Idea.js');
const Idea = mongoose.model('ideas');
//handlebars middleware
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
handlebars.registerHelper("toLowerCase", function(input) {
var output = input.toLowerCase();
return output.replace(" ", "");
});
//body parser middleware
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())
// post history page
app.get('/history', (req, res) => {
Idea.find({})
.sort({date: 'desc'})
.then(ideas => {
res.render('../js/newJs/history', {
ideas:ideas
})
});
})
//process form
app.post('/ideas', (req, res) => {
let errors = [];
if(errors.length > 0) {
console.log(errors[0]);
} else {
const newUser = {
amount: req.body.totalamount,
hours: req.body.totalhours,
salary: req.body.totalsalary,
tip: req.body.totaltip,
date: req.body.datetotal
}
new Idea(newUser)
.save()
.then(idea => {
res.redirect('/history');
})
}
});
app.use(express.static(path.join(__dirname, './js/newJs')));
app.set('port', process.env.PORT || 5700);
var server = app.listen(app.get('port'), function() {
console.log('listening on port ', server.address().port);
});
【问题讨论】:
标签: javascript html node.js mongodb handlebars.js