MongoDB中的查询类似于“where”

时间:2011-12-13 01:13:39

标签: regex mongodb mongoid

我正在尝试在Mongo中创建一个类似于SQL中的以下内容的查询:

@issues = Issue.where("content like ?", "%#{params[:q]}%") 

但在Mongo,当我使用“where”时,我得到了所有结果。当我使用“查找”时,我得不到任何结果。这是我正在运行的,这不起作用:

@issues = Issue.where({content: "/^#{params[:q]}/" })

我只想返回与输入到查询中的字母匹配的项目。我通过Mongoid使用MongoDB。

谢谢!

2 个答案:

答案 0 :(得分:1)

查看MongoDB文档中的regular expressions

db.collection.find( { content : { $regex : '*', $options: 'i' } } );

使用正确的正则表达式替换*以满足您的需求;

答案 1 :(得分:0)

你能试试吗?它应该适用于前一种情况

@issues = Issue.where({content: /^#{params[:q]}/ })