2017-03-01 2 views
0

mongooseを使用して検索に一致するJSONオブジェクトを返す検索ボックスがあります。"req.body.search"と一致するすべてのJSONオブジェクトを検索するためにmongooseを照会

今私は、その後どのように私は検索に一致する任意のJSONオブジェクトを返します。クエリを構成するか、検索名:

var mongoose = require('mongoose'); 
var App = mongoose.model('App'); 
var express = require('express'); 
var bodyParser = require('body-parser'); 

var exp = express(); 

exp.use(bodyParser.json()); 
exp.use(bodyParser.urlencoded({ 
    extended: true 
})); 


module.exports.searchApp = function(req, res) { 
    App.findOne({ 
    'app_name': req.body.search 
    }).exec(function(err, app) { 
    res.status(200); 
    res.json(app); 
    }); 
}; 

に一致するJSONオブジェクトを返すオブジェクトの名前を検索することができますマングースを使って?あなたが複数のフィールドに検索するためにはMongoのFTS機能を使用することができます

+0

戻ってくると予想されるクエリ用語といくつかのJSONオブジェクトの例を教えてください。 – kbariotis

+0

"APP_ID":1、 "APP_NAME": "Sonsing"、 "デベロッパー:APP_DEVELOPER": "Skynoodle"、 "APP_VERSION": "2.8"、 "価格":16 }、 { "APP_ID": 2、 "APP_NAME": "Fintone"、 "デベロッパー:APP_DEVELOPER": "Trupe"、 "APP_VERSION": "0.8.9"、 "価格":9 }、{ "APP_ID":3、 "app_name": "Overhold"、 "app_developer": "Tagopia"、 "app_version": "6.31"、 "price":58 }、 – haverdaden

+0

' findOneの代わりにfind' –

答えて

0

まず、あなたがあなたの検索に含めたいフィールドのためのいくつかのtext indexesを作成する必要があります。

text operatorを使用すると、検索用語を含むクエリが実行され、Mongoはその用語を上記で指定したテキストインデックスに検索します。

App.find({ 
    $text: { 
     $search: req.body.search 
    } 
}) 
関連する問題