我有一个 PostgreSQL 查询,看起来像LOWER(content) LIKE '%lra%'
. 我正在将其迁移到 MonogoDB。我正在寻找一个等价物。这是我到目前为止所拥有的
db.contents.find({content: /lra/i})
我是通过正则表达式来做的。有没有办法像这样指定它:
db.contents.find({content: {$lower: /lra/}})
我有一个 PostgreSQL 查询,看起来像LOWER(content) LIKE '%lra%'
. 我正在将其迁移到 MonogoDB。我正在寻找一个等价物。这是我到目前为止所拥有的
db.contents.find({content: /lra/i})
我是通过正则表达式来做的。有没有办法像这样指定它:
db.contents.find({content: {$lower: /lra/}})
目前并非没有全表扫描。
最好的方法是将字符串存储在另一个已经小写的字段中,然后存储一个“真实”字段,而不要对其进行修改。
您可以使用http://docs.mongodb.org/manual/reference/aggregation/toLower/#exp._S_toLower使用聚合框架执行此操作,但这不会比您上面显示的正则表达式好得多。
正如@AdaTheDev 发现的那样,它有一个 JIRA:https ://jira.mongodb.org/browse/SERVER-90