我正在尝试实现一个动态搜索栏,它根据用户输入的内容显示建议。例如,您开始输入“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”、“tags”和“level”中的匹配项。
最佳答案
给你
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){
...
});
关于javascript - Mongodb Mongoose 复杂的搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36156540/