我有以下搜索方法:
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。