Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Mongoid中搜索带有OR语句的嵌入文档?_Ruby On Rails_Mongoid - Fatal编程技术网

Ruby on rails 如何在Mongoid中搜索带有OR语句的嵌入文档?

Ruby on rails 如何在Mongoid中搜索带有OR语句的嵌入文档?,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我尝试了几种方法来实现这一点,但没有一种有效: User.where(name:"Jon Sparks").first.purchased_items.where ('(month = 5 AND year = 2012) OR (month = 6 AND year = 2012)') User.where(name:"Jon Sparks").first.purchased_items.any_of ({:month => 5, :year =

我尝试了几种方法来实现这一点,但没有一种有效:

User.where(name:"Jon Sparks").first.purchased_items.where
          ('(month = 5 AND year = 2012) OR (month = 6 AND year = 2012)')

User.where(name:"Jon Sparks").first.purchased_items.any_of
          ({:month => 5, :year => 2012}, {:month => 6, :year => 2012})
我想做的是在2012年5月或6月提取所有购买的\u项目嵌入文档。

这是您的查询

User.where(:name => "JohnSparks").first.purchased_items.where(:year => 2012, :month.in => [5,6])

你试过了吗User.wherename:Jon Sparks.first.purchased_items.where:$and=>{:year=>2012},:$or=>{:month=>[5,6]}我得到以下错误:未定义的方法'gsub'for:year:symbol我认为您对自己的状况或其一部分考虑过度了。这真是一个好机会。我不是Mongo的专家,所以我会看这个,但我会尝试User.wherename:Jon Sparks.first.purchased_items.where:year=>2012,:month=>[5,6]}或User.wherename:Jon Sparks.first.purchased_items.where'year=2012 AND month IN 5,6'也尝试过,结果为0。谢谢你到目前为止的帮助。对不起,我帮不了你。我刚刚开始一个MongoDB项目,所以我会看这个。谢谢你和我一起尝试。