0
데이터를 witj 또는 Number로 가져 오는 API를 만듭니다.API 호출을위한 URL 메서드
var method = require("../../app/models/model_METHOD.js");
module.exports = (function(){
'user strict';
var router=require('express').Router();
router.get('/search',function (req,res) {
var name = req.query.name;
var number = req.query.number;
var query = {};
if(name){
var pattern = new RegExp(name,"i");
query = {Name: {$regex: pattern}},{Name:1,_id:0};
method.find(query).lean()
.limit(20)
.exec(function(err,results){
results=results.map(function(doc){return doc.Name});
if(err){
console.log("DB error");
console.log(err);
res.status(500).send("Error");
}
else if(results.length!=0){
console.log(results.length);
res.status(200).send(results);
}
else{
res.status(404).send('no matching records found');
}
});
}
else if(number){
var pattern = new RegExp(number,"i");
console.log(pattern);
query = {Number: {$regex: pattern}},{Number:1,_id:0,Code:0,Name:0,collection:0};
method.find(query).lean()
.limit(20)
.exec(function(err,results){
results = results.map(function(item){return item.Number});
if(err){
console.log("DB error");
console.log(err);
res.status(500).send("Error");
}
else if(results.length!=0){
console.log(results.length);
res.status(200).send(results);
}
else{
res.status(404).send('no matching records found');
}
});
}
else{
res.status(400).send('input can not be empty');
}
});
나는 다음과 같이 이러한 API를의 호출에 대한 URL을 설정하고
: -
function getName(key) {
return $http({
method: 'GET',
url: 'api/method/search?name=' + key.key
});
}
function getNumber(key) {
return $http({
method: 'GET',
url: 'api/method/search?number=' + key.key
});
}
하면 위의 방법은 나를 위해 노력하고 대신 두 개의 서로 다른 기능을 만드는 나는 하나 개의 URL이 호출 할 수 있지만, 그 이름이 그 다음 name=' + key.key
이면 숫자이면 number=' + key.key
입니다. 이 같은 뭔가 : - 'api/method/search?name=' + key.key or number=' + key.key