首页 > 解决方案 > 带有或条件的正则表达式查询

问题描述

以下查询应返回其值包含的结果:“iffg”或“Info”。但是它不起作用。它出什么问题了?

 { "$or" : [{ "value" : { "$regex" : ".*iffg.*", "$options" : "i" } }, { "value" : { "$regex" : ".*Info.*", "$options" : "i" } }] }

标签: mongodb

解决方案


我不太确定,但尝试从中删除星号

{ "$or" : [{ "value" : { "$regex" : "iffg", "$options" : "i" } }, { "value" : { "$regex" : "Info", "$options" : "i" } }] }

你也可以尝试使用 $in 来解决你的问题,它看起来更干净

db.collection_name.find({ "value": { "$in": [/iffg/i,/info/i] } })


推荐阅读