【问题标题】:Display the data onto webpage retrieved from mongodb using node.js使用 node.js 将数据显示到从 mongodb 检索的网页上
【发布时间】:2013-06-23 00:43:45
【问题描述】:

这是我的问题。可能有点琐碎。我正在使用 node.js 编写一个包含单选按钮、下拉框的表单。我已经能够保存数据并成功检索它,但我无法将其写入网页。将数据写入页面的正确方法是什么

【问题讨论】:

  • 欢迎来到 StackOverflow 阿斯顿。请包含您的一些代码,以便社区成员可以帮助您。在没有任何代码的情况下帮助您,可能会非常复杂且耗时。

标签: javascript node.js mongodb


【解决方案1】:

您可以使用 express 和 mongoose 轻松完成此操作。首先,您将使用 mongoose 连接到 mongoDB,然后设置一些用于从 mongoose 与 mongoDB 交互的变量(即 mongoose.scheme 和 mongoose.model),最后您只需通过 express 的 res 将 mongoDB 数据发送到网页.render 函数:

mongoose.connect('mongodb://localhost/test', function(err){
    if(!err){
        console.log('connected to mongoDB');
    } else{
        throw err;
    }
});

var Schema = mongoose.Schema,
    ObjectID = Schema.ObjectID;

var Person = new Schema({
    name : String
});

var Person = mongoose.model('Person', Person);   

app.get('/', function(req, res){
    Person.find({}, function(err, docs){
        res.render('index', { docs: docs});
    });
});

发送数据后,您只需在网页中引用“docs”变量即可。 Express 自动使用 Jade 框架。在 Jade 中,您可以执行以下操作:列出数据库中所有人员的姓名:

- if(docs.length)
    each person in docs
      p #{person.name}
- else
    p No one is in your database!

【讨论】:

  • 没问题!如果您的问题得到解决,请接受答案(点击向下箭头下方的复选标记)。
  • 您确定您在res.render('index', { docs: docs}); 中引用了正确的玉文件吗? IE。您实际上是在 index.jade 文件中使用文档吗?
  • 就像我在 index.jade 中所做的一样,并且引用了相同的内容!
  • 你能把console.log(docs)放在res.render('index', { docs: docs})之前吗?并说出它的输出?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-05
  • 2019-02-04
  • 2015-10-08
  • 2018-07-18
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多