server.listen(8080, function() { if(process.getuid()===0){ process.setgid("node"); process.setuid("node"); } logger.info('Express server listening on port 8080'); });
return function(req, res, next) { // クエリをログ出力 logger.info(req.getQuery()); // パラメータ取得 var params = cmnFunc.getQuery(req.getQuery()), key = cmnFunc.getFindKey(params.key); // キーワードと期間が入力されている場合のみ検索を行う if(key !== "" && params.sf !== void 0 && params.st !== void 0){ var aryKeys = key.split("||"), arySearchKeys = []; // キーワードを分割して配列に格納する for(var i=0,len=aryKeys.length;i<len;i++){ var searchWord = decodeURI(aryKeys[i]); searchWord = searchWord.split(" ").join("").split(" ").join(""); if(searchWord !== ""){ arySearchKeys.push(searchWord); } } // 有効なキーワードが存在する場合のみ検索実行 if(arySearchKeys.length > 0){ var re = new RegExp(arySearchKeys.join("|")); SalesInfo.find({ key:re, salesDate:{ "$gte" : makeGMTDate(params.sf), "$lte" : makeGMTDate(params.st) } }, function(err, docs){ var json = {}, aryDocs = []; json.results_count = docs.length; for(var i=0,len=docs.length;i<len;i++){ aryDocs[i] = { id : docs[i]._id, title : docs[i].title, salesY : docs[i].salesY, salesM : docs[i].salesM, salesD : docs[i].salesD, author : docs[i].author, publisher : docs[i].publisher }; } json.results_salesInfo = aryDocs; res.send(json); }); }else{ res.send(cmnFunc.makeErrorResponse()); } }else{ res.send(cmnFunc.makeErrorResponse()); } };