2017-02-18 7 views
0

Использование стека MEAN для создания функции поиска с использованием данных JSON. Как показано ниже, подключившись к mongo DB и нажав все на массив данных.Node.js Экспресс Функция поиска JSON

app.get('/all/', function(req, res) { 

var data = []; 
    mongodb.MongoClient.connect(url, function(err, db) { 

    var position = db.collection('Namers').find(); 
    position.forEach(function(doc, err) { 
     data.push(doc); 
    }, function() { 
     db.close(); 
     res.json(data); 
    }); 
    }); 
}); 

Я хочу, чтобы сделать поиск параметров, как:

app.get('all/:search) 

Для того чтобы отфильтровать информацию в формате JSON, соответствующий либо имя или кодов, который находится в моем файле JSON. Ниже приведен пример:

[{"Name":"Bob", "Code":"23234"},{"Name":"Tim", "Code":"24924"}] 

Как бы я мог добиться этого, используя экспресс (Node.js)?

редактировать: (полный код)

app.get('/all/', function(req, res) { 

    var data = []; 
    mongodb.MongoClient.connect(url, function(err, db) { 
    var position = db.collection('Modules').find(); 
    position.forEach(function(doc, err) { 
     data.push(doc); 
    }, function() { 
     db.close(); 
     var filtered = data.filter(function(item){ 
     var result = false; 
      Object.keys(item).map(function(key){ 
       if (item[key] == req.params.search){ 
        result = true; 
       } 
      }) 
      return result; 
     }); 
     res.json(filtered); 
    }); 
    }); 
}); 

app.get('all/:search', function(req, res) { 
}); 

ответ

1
app.get('/all/', function(req, res) { 
    var data = []; 
    mongodb.MongoClient.connect(url, function(err, db) { 
    var position = db.collection('Modules').find(); 
    position.forEach(function(doc, err) { 
    data.push(doc); 
    }, function() { 
    db.close(); 
    res.json(data); 
    }); 
}); 
}); 

app.get('all/:search', function(req, res) { 
var data = []; 
    mongodb.MongoClient.connect(url, function(err, db) { 
    var position = db.collection('Modules').find(); 
    position.forEach(function(doc, err) { 
     data.push(doc); 
    }, function() { 
     db.close(); 
     var filtered = data.filter(function(item){ 
     var result = false; 
      Object.keys(item).map(function(key){ 
       if (item[key] == req.params.search){ 
        result = true; 
       } 
      }) 
      return result; 
     }); 
     res.json(filtered); 
    }); 
    }); 
}); 
+0

И то, что я должен добавить: app.get ('/ администратор/модулей /: поиск /', функция (Req, Рез) {/ /Прямо здесь}); – user3818418

+0

нечего добавить к вашему коду. Я отредактировал мой предыдущий ответ, так как были некоторые ошибки –

+0

А теперь хорошо, я попробую сейчас tyvm! – user3818418