以下查询应返回其值包含的结果:“iffg”或“Info”。但它不起作用。它出什么问题了?
{ "$or" : [{ "value" : { "$regex" : ".*iffg.*", "$options" : "i" } }, { "value" : { "$regex" : ".*Info.*", "$options" : "i" } }] }
我不太确定,但试着从中删除星号
{ "$or" : [{ "value" : { "$regex" : "iffg", "$options" : "i" } }, { "value" : { "$regex" : "Info", "$options" : "i" } }] }
你也可以尝试使用$ in来解决你看起来更清洁的问题
db.collection_name.find({ "value": { "$in": [/iffg/i,/info/i] } })