如何在node.js中从mongodb推送请求的数据

How to push out requested data from mongodb in node.js

本文关键字:请求 数据 mongodb 中从 node js      更新时间:2023-09-26

我正在使用Node.js,express,mongodb,并卡在前端和后端之间传递的数据上。

注意:下面的代码是用于前端和后端通信的中间件代码

在这里,我通过使用req.body.nr成功地从前端获取输入值

exports.find_user_post = function(req, res) {
    member = new memberModel();
    member.desc = req.body.nr;
    console.log(req.body.nr);
    member.save(function (err) {
        res.render('user.jade', );
    });
};

这就是问题所在,我需要使用我得到的输入值从我的数据库(后端的mongodb)中找到正确的数据并推送到前端。

我的数据结构{desc : ''},desc对应于输入值,所以它应该看起来像这样{desc: req.body.nr}这里可能是不正确的代码?

exports.user = function(req, res){
    memberModel.find({desc: req.body.nr}, function(err, docs){
        res.render('user.jade', { members: docs });
    });
};

希望得到一些帮助。

谢谢,提前!

看看 howtonode.org 的这个很棒的教程。

因为如您所见,他使用了一个原型和一个函数回调:


在文章提供者-MongoDB中.js

ArticleProvider.prototype.findAll = function(callback) {
    this.getCollection(function(error, article_collection) {
      if( error ) callback(error)
      else {
        article_collection.find().toArray(function(error, results) {
          if( error ) callback(error)
          else callback(null, results)
        });
      }
    });
};
exports.ArticleProvider = ArticleProvider;

在应用中.js

app.get('/', function(req, res){
    articleProvider.findAll( function(error,docs){
        res.render('index.jade', { 
            locals: {
                title: 'Blog',
                articles:docs
            }
        });
    })
});

还要确保从用户输入以及将数据发送到节点.js服务器的任何人进行一些错误检查。

PS:请注意,本教程中使用的节点、Express 和 mongo 驱动程序有点旧。