【问题标题】:How to push out requested data from mongodb in node.js如何在 node.js 中从 mongodb 推送请求的数据
【发布时间】:2012-08-13 13:17:23
【问题描述】:

我正在使用 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 });

    });
};

很想得到一些帮助。

谢谢,提前!

【问题讨论】:

    标签: javascript node.js mongodb express


    【解决方案1】:

    看看来自 howtonode.org 的这个很棒的 tutorial

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


    articleprovider-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;
    

    app.js

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

    还要确保您对用户输入以及向 node.js 服务器发送数据的任何人进行了一些错误检查。

    PS:注意教程中使用的node、express和mongo驱动有点老了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-30
      • 2020-06-19
      • 2021-09-10
      • 2015-11-26
      • 1970-01-01
      • 2017-05-03
      • 2015-01-05
      • 1970-01-01
      相关资源
      最近更新 更多