Mongoose,MATCH 运算符不返回结果

Posted

技术标签:

【中文标题】Mongoose,MATCH 运算符不返回结果【英文标题】:Mongoose, MATCH operator doesn't return results 【发布时间】:2021-05-12 07:44:37 【问题描述】:

company 参数有一个有效值来获取结果,但是我得到一个空数组。

company = company.replace('.', '');
company = company.replace('.', '');
company = company.replace('-', '');
company = company.replace('/', '');

try 
    const result = await cteModel.aggregate([
    
        $addFields': 
            date': 
                $dateFromString':  'dateString': '$dataEmissao' 
            
        
    ,
    
        $match:  'empresa': company 
    ,
    
        $sort:  date: -1, _id: 1 
    ]);
    res.status(200).send(result);                    
 catch (error) 
    console.log(error);
    return res.status(500).json(error);

        

【问题讨论】:

在问题中添加输入数据和输出数据 如果我用字符串替换变量,查询将返回预期结果,如下所示: $match: 'empresa': '1111' , 【参考方案1】:

如果我用字符串替换变量,查询将返回预期结果,如下所示: $match: 'empresa': '1111' ,

【讨论】:

以上是关于Mongoose,MATCH 运算符不返回结果的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose 5.x 不允许传递一系列运算符

Mongoose 聚合返回空结果并在 mongo 控制台中工作 [重复]

Mongoose 聚合返回空结果并在 mongo 控制台中工作 [重复]

使用 $regex 查询 mongoose 不返回任何结果

Mongodb - 解决 ( aggregate聚合管道 ) $match 根据 id 匹配 返回 [ ] 的问题

Mongoose:.find() 不返回任何文档