mongoose和express - 如何将两个函数组合成一个输出

时间:2012-06-04 19:16:25

标签: node.js mongoose express

我正在尝试为我的网站制作搜索表单,其中包含两个单独的输入,一个用于标题关键字,另一个用于帖子正文。我不知道如何将这两个变量(asd for title和asdd for body)传递给函数,那就是我的app.js文件:

app.get('/search', function(req, res) {
    postdb.findByTitle(asd, function(error, article) {
        res.render('search.jade',
        { locals: {
            title: article.title,
            articles:article
        }
        });
    });
});

这里是查找功能(检查粗体部分):

PostDB.prototype.findByTitle = function(**asd asdd**, callback) {
    this.getCollection(function(error, article_collection) {
      if( error ) callback(error)
      else {
        article_collection.find({**title: asd, body:asdd**}).toArray(function(error, results) {
          if( error ) callback(error)
          else callback(null, results)
        });
      }
    });
};

1 个答案:

答案 0 :(得分:0)

将几个查询字符串参数与url传递给/ search。

例如:

 /search?title=asd&body=asdd;

然后使用req对象抓取它们并传递给你的函数:

app.get('/search', function(req, res) {
    var title = req.query.title
       ,body = req.query.body;

    postdb.findByTitle(title, body, function(error, article) {
        res.render('search.jade',
        { locals: {
            title: article.title,
            articles:article
        }
        });
    });
});