-1
我正在嘗試使用節點js.my結果數組的mongo數據庫中的搜索功能始終爲空。我在這裏分享我的代碼。有人幫我找到最新的錯誤。 搜索後,我得到我的控制檯中的空數組[]。使用Nodejs獲取mongo db中的過濾器/搜索文本的空數組
型號/ contact.js
var mongoose = require('mongoose');
var ContactSchema = new mongoose.Schema({
cid: String,
name: {type: String, index: true},
phon: Number,
contactwith: {type: String, index: true}
});
module.exports = mongoose.model('Contact', ContactSchema);
mongoose.model('Contact', ContactSchema).ensureIndexes(function(err) {
if (err)
console.log(err);
else
console.log('create contact index successfully');
});
控制器/ contact.js
var mongoose = require('mongoose');
var Contact = mongoose.model('Contact');
var ContactController = function(app,mongoose){
app.post('/search',function(req,res){
var query = req.body.searchbx;
console.log(query);
var dbsearch = Contact.find({$text: {$search: query}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}});
console.log(dbsearch);
Contact.find({$text: {$search: query }}, function (err, results){
if(err){
console.log(err);
}
if(results){
console.log('in results')
console.log(results)
res.render("search",{results: results});
}
})
});
}
module.exports = ContactController;
在玉文件
form(id="search-filter" method ="POST" action="/search")
input#search-bx(type='text', name='searchbx' placeholder="search here")
input(type="submit", value="Search")