我正在尝试实施一个动态搜索栏,根据用户输入的内容显示建议。例如,您开始输入" j"你会看到诸如" Java,JavaScript,JQuery"等选项。 ...然后你输入" ja"并且只看到" Java,JavaScript"。
我的架构如下所示:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var QuestionSchema = new Schema({
text : String,
answers : Array,
tech : String,
tags : [String],
level : String,
createdAt : Date
});
// Return the model
module.exports = mongoose.model('Questions', QuestionSchema);
我需要搜索才能在' text',' tech'标记'标记'以及'中查找匹配项。
答案 0 :(得分:3)
你去了
let query = [
{ 'text': { $regex: new RegExp(keyword, "i") } },
{ 'tech': { $regex: new RegExp(keyword, "i") } },
{ 'tags': { $regex: new RegExp(keyword, "i") } },
{ 'level': { $regex: new RegExp(keyword, "i") } }
]
Question.find({ $or: query }, function(err, results){
...
});