2017-10-04 90 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")} 
     ] 
    });