2017-03-01 56 views
5

我有電子書數據的集合MongoDB中像如何在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) 
} 

現在我想尋找的東西,如果關鍵字是有點比賽從"title:"則顯示所有相關圖書對象。

我的貓鼬模式是: -

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); 

我嘗試: -

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); 
     }); 
    }); 

,但我發現我無效怎麼辦?我只想當我搜索一個關鍵字我發現所有相關的對象。

回答

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); 
     }); 
    });