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 に答える