2017-10-04 123 views
1

我正在嘗試搜索使用文本作爲參數的對象。使用貓鼬進行全文搜索不起作用

我在MongoDB的以下數據:

[ 
    { 
     "_id": "59d518859eacefa4555d6edb", 
     "id": "A07", 
     "nome": "Outras doenças intestinais por protozoários" 
    }, 
    { 
     "_id": "59d518859eacefa4555d6edc", 
     "id": "A08", 
     "nome": "Infecções intestinais virais, outras e as não especificadas" 
    } 
] 

我的模型:

var cid = new Schema({ 
    id: String, 
    nome: String 
}, {collection: 'cid'}); 

cid.index({'id': 'text', 'nome': 'text'}); 

方法來搜索:

var cid = require('./cid.model'); 

cid.find({$text: {$search: 'A07'}}) 
    .exec(function(err, result) { 
     if (err) { 
     console.log(err); 
     } else { 
     res.json(result) 
     } 
    }) 

當我使用 'A07' 作爲參數作品。

但是,當我使用'Outrasdoençasintestinais porprotozoários'作爲參數或某些詞,如:'doenças','outras'不會返回任何內容。

我放了什麼?

回答

0

我會做這樣的:

cid.find({ 
     $or: [ 
      {name: new RegExp(your_variable, "i")}, 
      {id: new RegExp(your_variable, "i")} 
     ] 
    });