在mongoose和expressjs上查找/搜索

时间:2012-06-01 14:27:31

标签: node.js search mongoose express

我尝试使用mongoose和expressjs查找文章。我有搜索表单,输入设置为变量'titless'。

这是我的app.js文件:

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

});

app.post('/.:titles?', function(req, res) {
    postdb.findByTitle(req.params.titless, function(error, article) {
        res.render('blog_show.jade',
        { locals: {
            title: article.title,
            article:article
        }
        });
    });

});

和heres findbytitle方法:

PostDB.prototype.findByTitle = function(titless, callback) {
    this.getCollection(function(error, article_collection) {
      if( error ) callback(error)
      else {
        article_collection.findOne({title: titless}, function(error,
result) {
          if( error ) callback(error)
          else callback(null, result)
        });
      }
    });

};

当我点击搜索按钮时,它会转发我到localhost /? titless =关键字页面,但我仍然看到没有搜索的索引页面 文章:/。

1 个答案:

答案 0 :(得分:0)

res.render('blog_show.jade', { 
  locals: {
    title: article.title,
    article:article
  }
});

我不是百分百肯定,但你必须定义当地人吗?不应该是以下吗?

res.render('blog_show.jade', { 
  title: article.title,
  article:article
});