如何在猫鼬中执行查找查询? [英] How do I perform a find query in Mongoose?
本文介绍了如何在猫鼬中执行查找查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在mongodb中收集了一些电子书数据,例如
i have a collection of Ebooks data in mongodb like
{
"_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:"
有点不匹配,我想搜索一些内容,然后显示所有相关的图书对象.
Now i want to search something if keyword is little bit match from "title:"
then show all related books object.
我的猫鼬模式是:-
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我该怎么办?我只想在搜索一点点关键字时才找到所有相关的对象.
but i found null how can i do ? i only want when i search a little-bit keyword i found all related object .
推荐答案
尝试将查询包裹在curlies中,Mongoose希望有一个对象作为查询.
Try wrapping your query in curlies, Mongoose expects an object as the query.
app.get('/ebook?search=',function(req,res){
var search_key = req.param('search');
Ebook.find({title: search_key})
.then(ebooks => res.json(ebooks))
.catch(err => res.status(404).json({ success: false }));
});
这篇关于如何在猫鼬中执行查找查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文