2017-03-01 4 views
5

私はMongooseで検索クエリを実行するにはどうすればよいですか?

{ 
    "_id" : ObjectId("58b56fe19585b10cd42981d8"), 
    "cover_path" : "D:\\Ebooks\\uploads\\ebooks\\cover\\1488285665748-img1-700x400.jpg", 
    "path" : "D:\\Ebooks\\uploads\\ebooks\\pdf\\1488285665257-Webservices Natraz.pdf", 
    "description" : "ebook", 
    "title" : "book name", 
    "tag" : [ 
     "Hindi", 
     "Other" 
    ], 
    "__v" : NumberInt(0) 
} 

ようにMongoDBにおける電子ブックデータの収集を持っている今、私はキーワードが少しの試合であれば、すべての関連書籍オブジェクトを表示し、その後"title:"から何かを検索したいです。

マイマングーススキーマがある: - :

app.get('/ebook?search=',function(req,res){ 
var search_key = req.param('search'); 
    Ebook.find(title:'search',function(err, ebooks) { 
      if (err) 
       res.send(err); 

      res.json(ebooks); 
     }); 
    }); 

しかし、私はどのように行うことができ、ヌルた -

var mongoose  = require('mongoose'); 
var Schema  = mongoose.Schema; 

var EbookSchema = new Schema({ 
    title: {type:String}, 
    description: {type:String}, 
    path: {type:String,required:true}, 
    cover_path: {type:String,required:true}, 
    tag: [{ type: String }] 

}); 
module.exports = mongoose.model('Ebook', EbookSchema); 

私がみては?私は少しだけキーワードを検索して、関連するすべてのオブジェクトを見つけたときだけ欲しい。

答えて

3

curliesでクエリをラップすると、Mongooseはオブジェクトをクエリとして認識します。

app.get('/ebook?search=',function(req,res){ 
var search_key = req.param('search'); 
    Ebook.find({title:'search'},function(err, ebooks) { 
      if (err) 
       res.send(err); 

      res.json(ebooks); 
     }); 
    }); 
関連する問題