使用mongo搜索无法正常运行

时间:2017-11-09 16:55:28

标签: javascript node.js mongodb mongoose

我有以下搜索方法:

if (cond == 'AMB') {

        amb.find({
          $or: [
              {PROCEDIMENTO: new RegExp(query , "i")},
              {CODIGO: new RegExp(query , "i")}
          ]
        }
      )
     .exec(function(err, result) {
       if (err) {
         res.status(500).json(err);
       } else {
         res.json(result);
       }
     })

    } else if (cond == 'TUSS') {
        tuss.find({
            $or: [
                {PROCEDIMENTO: new RegExp(query , "i")},
                {CODIGO: new RegExp(query , "i")}
            ]
          }
        )
       .exec(function(err, result) {
         if (err) {
           res.status(500).json(err);
         } else {
           res.json(result);
         }
       })

    }

模型TUSS:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var tuss = new Schema({
    CODIGO: String,
    PROCEDIMENTO: String,
  CH: String
}, {collection: 'tuss'});

tuss.index({'CODIGO': 'text', 'PROCEDIMENTO': 'text'});

module.exports = mongoose.model('tuss', tuss);

模特AMB:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var amb = new Schema({
    CODIGO: String,
    PROCEDIMENTO: String,
  CH: String
}, {collection: 'amb'});

amb.index({'CODIGO': 'text', 'PROCEDIMENTO': 'text'});

module.exports = mongoose.model('amb', amb);

当条件是AMB时,我有查询结果,但是当它是TUSS时,返回为空。

mongo中对象的示例:

TUSS:

 {
    "_id": {
        "$oid": "5a0480cf6033716ecefbdc6f"
    },
    "CODIGO": 20104219,
    "PROCEDIMENTO ": "SESSÃO DE PSICOTERAPIA INDIVIDUAL",
    "CH": 100
 }

AMB:

{
    "_id": {
        "$oid": "5a047b9e6033716ecefb42db"
    },
    "CODIGO": "00040029",
    "PROCEDIMENTO": "U.T.I. PEDIAT.NEONATAL (12HS.P/PACIENTE)",
    "CH": 300
}

如果我输入我的查询AMB 00040029或U.T.I有效。如果我提出我的查询TUSS 20104219或SESSÃO甚至SESSÃODEPSICOTERAPIA INDIVIDUAL都不起作用。

我无法理解,因为方法和模型是相同的。我的mongo住在mLAB。

0 个答案:

没有答案