0

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

    });
};

很想得到一些帮助。

提前致谢!

4

1 回答 1

1

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

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


文章provider-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驱动有点老。

于 2012-08-14T09:41:48.227 回答