根据用户输入从api(RESTful)db(mongodb)中获取数据

时间:2018-07-22 09:46:50

标签: javascript node.js mongodb reactjs express

我已经使用nodejs,express和mongodb创建了一个api。我现在正在获取数据而没有发送任何查询。但是在我的前端,我有一个输入,用户可以在其中搜索食谱。因此,例如,如果用户键入“ Today”,则我应该只获得与今天相关的响应。如何在db中检查并检索数据?

module.exports = function(app, db) {
  app.get("/dates/", (req, res) => {
    db
      .collection("dates")
      .find()
      .toArray((err, item) => {
        if (err) {
          res.send({ error: "An error has occured" });
        } else {
          res.send(item);
        }
      });
  });

1 个答案:

答案 0 :(得分:0)

在进行api调用时,将dish作为查询参数

例如'/ recipes /?dish =“ Pizza”'

,并在快递中使用以下内容。

module.exports = function(app, db) {
  app.get("/recipes/", (req, res) => {
    let queryDish = req.query.dish; // assuming /recipes/?dish="Pizza"
    let query = { 'title' : { '$regex' : queryDish, '$options' : 'i' } }; 
    db
      .collection("recipes")
      .find(query)
      .toArray((err, item) => {
        if (err) {
          res.send({ error: "An error has occured" });
        } else {
          res.send(item);
        }
      });
  });