【问题标题】:mongoose and express - how to combine two functions into one outputmongoose 和 express - 如何将两个函数组合成一个输出
【发布时间】:2012-06-05 12:32:39
【问题描述】:

我正在尝试为我的网站制作搜索表单,其中包含两个单独的输入,一个用于标题关键字,另一个用于帖子正文。我不知道如何将这 2 个变量(标题的 asd 和正文的 asdd)传递给函数,这就是我的 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)
        });
      }
    });
};

【问题讨论】:

  • 您能发布您的表单的 HTML 吗?

标签: node.js mongoose express


【解决方案1】:

将几个带有 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
        }
        });
    });
});

【讨论】:

    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2016-07-20
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多