【发布时间】:2021-10-10 16:49:15
【问题描述】:
我需要使用 MongoDB 运行原始查询。现在我在 pymongo 中的$in 过滤器看起来像这样:
{'category': {'$in': ['fruits', 'vegetables']}}
但它显示有时类别是Fruits 并且过滤器与该值不匹配。我无法修复数据库中的所有category 数据,因为每天都在同步并且已经进行了太多检查。所以,唯一的办法就是改进过滤器(顺便说一下,这个过滤器中不仅仅是category)。
所以我想知道有什么方法可以忽略$in 运算符的大小写?
完全清楚,我现在拥有什么:
过滤器:
{'category': {'$in': ['fruits', 'vegetables']}}
数据:
{'category': 'fruits'} // match
{'category': 'Fruits'} // does not match
我需要什么:
过滤器:
{'category': {'$ignorecase_in': ['fruits', 'vegetables']}}
数据:
{'category': 'fruits'} // match
{'category': 'Fruits'} // match
【问题讨论】: