无法使用 nunjucks 将对象传递给 html
can't pass object to html with nunjucks
我想使用 Nunjucks 将数据从 mongoDB 服务器传递到我的 html 文件以在加载时呈现。
App.js
app.get('/', function(req, res) {
database.retrieveComments(req, function(err,result) {
console.log(result);
res.render('index.html', result);
});
});
我的数据库连接文件有这个:
connection.js
retrieveComments: function(req, callback) {
db.collection('comments').find().toArray(function(err,result) {
if (result.length > 0) {
return callback(null, result);
};
});
},
最后,在我的 HTML 文件中有这一部分:
index.html
<div id="p" class="task" commentId = "1">
1st comment {{ result }}
</div>
当我 console.log 出来时我可以看到结果,但是当我浏览到本地服务器时我似乎没有在 html 文件中呈现它。
如果我只传递一个字符串,我可以看到它,但是当我传递结果对象时却看不到。
我想知道这里是否有一些异步节点黑魔法在起作用,或者我是否遗漏了一些关键的 Nunjucks 元素。
app.get('/', function(req, res) {
database.retrieveComments(req,function(err, result) {
if (err)
return next(err); // Always check error
console.log('DB result: ', result); // Verify that result is not empty
res.render('index.html', {result: result});
});
});
retrieveComments : function (req, callback) {
db.collection('comments').find().toArray(function(err, result) {
// callback must be called always
if (err)
return callback(err);
if (result.length == 0)
return callback(new Error('Result is empty!'));
callback(null, result);
});
},
<div id="p" class="task" commentId = "1">
1st comment {{ result }}
{{ result[0].name }} {# result is Array, right? #}
</div>
我想使用 Nunjucks 将数据从 mongoDB 服务器传递到我的 html 文件以在加载时呈现。
App.js
app.get('/', function(req, res) {
database.retrieveComments(req, function(err,result) {
console.log(result);
res.render('index.html', result);
});
});
我的数据库连接文件有这个:
connection.js
retrieveComments: function(req, callback) {
db.collection('comments').find().toArray(function(err,result) {
if (result.length > 0) {
return callback(null, result);
};
});
},
最后,在我的 HTML 文件中有这一部分:
index.html
<div id="p" class="task" commentId = "1">
1st comment {{ result }}
</div>
当我 console.log 出来时我可以看到结果,但是当我浏览到本地服务器时我似乎没有在 html 文件中呈现它。 如果我只传递一个字符串,我可以看到它,但是当我传递结果对象时却看不到。
我想知道这里是否有一些异步节点黑魔法在起作用,或者我是否遗漏了一些关键的 Nunjucks 元素。
app.get('/', function(req, res) {
database.retrieveComments(req,function(err, result) {
if (err)
return next(err); // Always check error
console.log('DB result: ', result); // Verify that result is not empty
res.render('index.html', {result: result});
});
});
retrieveComments : function (req, callback) {
db.collection('comments').find().toArray(function(err, result) {
// callback must be called always
if (err)
return callback(err);
if (result.length == 0)
return callback(new Error('Result is empty!'));
callback(null, result);
});
},
<div id="p" class="task" commentId = "1">
1st comment {{ result }}
{{ result[0].name }} {# result is Array, right? #}
</div>