在Jade中循环并显示来自Mongodb的数据
Looping and showing data from Mongodb in Jade
我一直在做一个现场问答;一个应用程序,用户可以在其中创建讨论,在讨论中他们可以提问,然后向问题添加评论。
然而,目前我还停留在问题部分。我可以成功地创建一个讨论,以及一个通过discussionID(存储在MongoDB中作为objectID(discussionID))链接到讨论的问题。
我试图得到与讨论ID相同的问题,并将它们传递给Jade,这样我就可以在div中循环它们。
到目前为止,我的代码是:
讨论控制器:
function getOne(req, res, next) {
Discussion.findOne({_id: req.params.id}, function onDiscussionFound(err, discussion) {
if(!discussion) {
res.status(404).send("Discussion not found");
}
console.log(discussion);
// we return the json version with cleaned up model to the user
//res.send(discussion.toJSON());
var Questions = Question.find({discussionID: discussion.id}, function(err, data){
console.log(data);
});
//console.log(Questions);
res.render('discussion', { title: discussion.title, description: discussion.description, user: req.user, discussionID: discussion.id, questions: Questions});
});
}
所以我遇到的问题是:
var Questions = Question.find({discussionID: discussion.id}, function(err, data){
console.log(data);
});
discussionID是我Robomongo收集问题中的一个字段,discussion.id当然是讨论的id。
这可能是我的渲染中的一个问题,我不确定,因为我对此很陌生。
在我的Jade discussion.Jade文件中,我试图检索这样的问题:
if questions
each question in questions
p= question
但这给了我一个永无止境的回应,看起来是这样的:
[object Object]
[object Object]
function model(doc, fields, skipId) { if (!(this instanceof model)) { return new model(doc, fields, skipId); } Model.call(this, doc, fields, skipId); }
[object Object]
find
[object Object]
[object Object]
[object Object]
function () { var args = Array.prototype.slice.call(arguments); _this.wrap(name, fn, context, args); }
function () { var args = Array.prototype.slice.call(arguments); _this.wrap(name, fn, context, args); }
function () { var args = Array.prototype.slice.call(arguments); _this.wrap(name, fn, context, args); }
function () { var args = Array.prototype.slice.call(arguments); _this.wrap(name, fn, context, args); }
function () { var a
等等…
然而,我的console.log数据返回了迄今为止提出的3个问题。
Question.find是一个异步调用,因此您需要等待它执行完毕,然后使用返回的数据aka。您的问题以呈现视图:
var Questions = Question.find({discussionID: discussion.id}, function(err, data){
console.log(data);
res.render('discussion', { title: discussion.title, description: discussion.description, user: req.user, discussionID: discussion.id, questions: data});
});
//console.log(Questions);
相关文章:
- 在Jade中循环并显示来自Mongodb的数据
- 将数据推送到MongoDB,而无需在MEAN中编辑整个条目
- 如何使用Node.js/MongoDB在AngularJS应用程序中获取特定于目标的数据
- 使用mongoose将数据推送到mongoDB模式中的数组中
- 尝试通过angularjs和node将用户数据发送到mongodb
- 为什么我从一个空的mongodb数据库中获取数据
- 无法使用streams/highland.js从mongodb的结果中获取数据
- 如何在node.js中从mongodb推送请求的数据
- 无法将数据存储到 mongoDB
- Mongodb,通过具有多个条件的_id快速查找数据
- Meteor+MongoDB:如何获取嵌套数据
- 如何在HTML中用两个预定义的值绑定选择选项,以在mongodb中插入数据
- 关于帖子,评论,保存和喜欢的Mongodb数据结构
- 谁在套接字(服务器端)上正确管理mongodb数据
- 如何在angular中解析mongodb数据的node-js响应
- 将MongoDB数据传递到ExpressJS中的Jade视图
- 需要帮助理解angular ui-router,特别是将mongodb数据从一个状态传递到另一个状态
- Meteor mongodb数据透视和更优雅的代码
- 添加使用节点JS归档的MongoDB数据值
- 打印所有mongoDB数据到字符串nodejs