mongoose și express - cum să combinați două funcții într-o singură ieșire

Încerc să fac formularul de căutare pentru site-ul meu, cu două intrări separate, unul pentru cuvintele cheie și celălalt pentru corpul postului. Nu știu cum să treacă aceste două variabile (asd pentru titlu și asdd pentru corp) pentru a funcționa, thats fișierul meu app.js:

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

și aici este o funcție pentru găsirea (verificați părțile îndrăznețe):

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)
        });
      }
    });
};
0
Poți posta codul HTML pentru formularul tău, te rog?
adăugat autor Hacknightly, sursa

1 răspunsuri

Treceți câteva paramuri de șir de interogări cu urlul către/căutare.

De exemplu:

 /search?title=asd&body=asdd;

Apoi folosiți obiectul req pentru a le apuca și a trece la funcția dumneavoastră:

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
        }
        });
    });
});
0
adăugat