使用node.js将数据显示在从mongodb检索到的网页上

Display the data onto webpage retrieved from mongodb using node.js

本文关键字:检索 mongodb 网页 js node 数据 显示 使用      更新时间:2023-09-26

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

使用express和mongoose可以很容易地做到这一点。首先,您将使用mongoose连接到mongoDB,然后从mongoose设置一些用于与mongoDB交互的变量(即mongose.scheme和mongose.model),最后,您只需通过express的res.render函数将mongoDB数据发送到网页:

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!