【发布时间】:2017-02-18 18:01:55
【问题描述】:
使用 MEAN 堆栈创建使用 JSON 数据的搜索功能。如下所示,通过连接 mongo DB 并将所有内容推送到数据数组。
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"}]
我将如何使用 express (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) {
});
【问题讨论】:
标签: json node.js mongodb express