【发布时间】:2017-07-21 08:59:02
【问题描述】:
我在 mongodb 中有一组电子书数据,例如
{
"_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:" 有点匹配,然后显示所有相关的书籍对象。
我的 Mongoose 架构是:-
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);
});
});
但我发现 null 我该怎么办?我只想在搜索一点点关键字时找到所有相关对象。
【问题讨论】:
-
你为什么要做
title: 'search'而不是像title: search_key那样搜索你从请求参数中得到的search_key?
标签: node.js mongodb express mongoose mongoose-schema