如何将对象从 MongoDB 发送到玉?

Posted

技术标签:

【中文标题】如何将对象从 MongoDB 发送到玉?【英文标题】:How do I send on object from MongoDB to jade? 【发布时间】:2013-12-27 10:42:22 【问题描述】:

我正在尝试使用我的客户端 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, "answers":"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,结果打印在页面上。

【问题讨论】:

有时它是一个对象的列表,因此您可以尝试 Object[0].attribute 【参考方案1】:

如果结果打印在屏幕上但你无法遍历对象,那么可能意味着几件事:

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

2) 对象为字符串形式,需要先调用 JSON.parse(results) 才能遍历

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

【讨论】:

【参考方案2】:

感谢@Xinzz 的回答,不过这个玉:

for result in results
     p #result.answers

最终为我工作。从这里:Using Jade to iterate JSON

【讨论】:

以上是关于如何将对象从 MongoDB 发送到玉?的主要内容,如果未能解决你的问题,请参考以下文章

如何将文档从我的 mongodb 数据库发送到 android 应用程序?

React Native 如何将 AsyncStorage 数据发送到 MongoDB 数据库?

将数据从 MongoDB 发送到 Hadoop 的有效方法是啥?

如何在 Spring Rest Call 中使用 GridFS 从 Mongodb 发送和检索图像?

如何从存储在 mongodb 中的对象中获取日期?

我可以将一组对象发送到控制器中的视图,与 node/express/mongoose 中的 mongodb 对象相关联吗?