2016-03-22 11 views
0

Kullanıcının ne yazdığına göre öneriler gösteren bir dinamik arama çubuğu uygulamaya çalışıyorum. Örnek, "j" yazmaya başladığınızda "Java, JavaScript, JQuery" gibi seçenekleri görüyorsunuz. .. sonra "ja" yazıp sadece "Java, JavaScript" yazıyorsunuz.Mongodb Mongoose arama için karmaşık sorgu

Benim şema şöyle görünür:

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); 

Ve 'metin', 'teknoloji', 'etiketleri' ve 'seviye' de eşleşmeleri aramak için arama gerekir. Orada

cevap

3

Eğer

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){ 
 
... 
 
    });

gitmek