繁体   English   中英

猫鼬model.find查询字符串

[英]mongoose model.find query string

我的猫鼬模型查询字符串有问题。 下面的代码工作正常。 但是,如果我构造与字符串相同的查询,它将无法正常工作。 控制台输出的“查询”是

'diagnosis_text_de': /.*depression.*/i

我不明白为什么这行不通以及如何解决。

工作:

getByFullText = (req, res) => {
    let query: String = '\'diagnosis_text_de\': /.*' + req.body.qICD + '.*/i';
    console.log(query);
    this.model.find({
        'diagnosis_text_de': /.*depression.*/i
    }, (err, docs) => {
        if (err) {
            return console.error(err);
        }
        res.json(docs);
    });
}

不起作用:

...
this.model.find({ query }, (err, docs)
...

亲爱的您可以使用mongodb运算子$ regex和$ options如下

getByFullText = (req, res) => {
        let query = {
           diagnosis_text_de:{
            $regex: req.body.qICD,
            $options:"i"
          }
        }
        this.model.find(query,(err, docs) => {
            if (err) {
                return console.error(err);
            }
            res.json(docs);
        });
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM