如何将对象从MongoDB发送到jade

How do I send on object from MongoDB to jade?

本文关键字:jade MongoDB 对象      更新时间:2024-05-20

我正在尝试使用客户端JS访问从MongoDB检索的对象。具体来说,我希望能够循环使用对象中的数组。这是我的服务器端JS,它成功地找到了results并将它们记录到终端。

app.get("/post/:id", function (req, res, next) {
  var id = req.param('id');
  var query = BlogPost.findById(id).populate('author');
  BlogPost.find(query, {"answerswers":"true", "blanks":"true", "_id":0}, function(err, results){
  console.log('Results '+results);//This prints an object like:// { answers: [ 'more', 'One', 'more' ], blanks: ['try']}
  query.exec(function (err, post) {
    if (err) return next(err);
    if (!post) return next(); // 404
    res.render('post/view.jade', { post: post, results: results });
  })
})
})

还有我的玉:

  #luck
   #{results}

然后我的客户端JS:

var results = $('#luck').html();
console.log(results.answers[2]);

我用console.log获取undefined,结果打印在页面上。

如果结果打印在屏幕上,但您无法遍历对象,那么这可能意味着以下几点:

1) 对象可能是一个数组,即results[0]。Whatevery而不是results.whatever

2) 对象是字符串形式的,您需要调用JSON.parse(results)才能遍历它

var results = JSON.parse($('#luck').html());
console.log(results.answers[2]);

感谢@Xinzz的回答,但这块玉:

for result in results
     p #{result.answers}

从这里开始:使用Jade迭代JSON