我是app.js
:
var express = require('express'),
app = express(),
engines = require('consolidate'),
MongoClient = require('mongodb').MongoClient,
assert = require('assert');
app.engine('html', engines.nunjucks);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
MongoClient.connect('mongodb://localhost:27017/startup', function(err, db) {
assert.equal(null, err);
console.log("Successfully connected to MongoDB.");
app.get('/', function(req, res) {
db.collection('startup').find({}).toArray(function(err, docs) {
res.render('startup', {
'name': docs
});
console.log(docs);
});
});
app.use(function(req, res) {
res.sendStatus(404);
});
var server = app.listen(3000, function() {
var port = server.address().port;
console.log('Express server listening on port %s.', port);
});
});
startup
集合中还有文档:
模板文件是:
<h1>startups</h1>
{% for s in startup %}
<li><a href="https://www.google.com/search?q={{ s.name }}">{{ s.name }}, {{ s.Founded }}</a>
</li>
{% else %}
<li>No startups found.</li>
{% endfor %}
然而,结果说:
有人能指出我,我错在哪里吗?
答案 0 :(得分:2)
您将初创公司集合作为name
属性传递,但在模板中,您出于某种原因尝试使用startup
标识符访问它。
改变,你也很好。