ruby on rails -查询mongodb -在嵌入式类中使用IN过滤器



考虑以下文档结构(users)

id user_id phone
1  Balan   {0   - id = adsfasf232332  - number = 908767778}, 
                       ...........{1   - id = adsf343fadfasd - number = 22232323}
2  Kumar   {0   - id = adsfasf24442  - number = 2727272}

下面的查询

对应的Mongo模型查询是什么?
select * from  users where user_id = "Balan" and phone_number in (22232323)

我尝试了下面的查询,但它没有帮助

temp = User.where(user_id: => "Balan").where('phone.number' => "22232323")

我做错了什么?

注意:类Phone嵌入在类User中

如果你使用的是Mongoid 3,你可以说

temp = User.where(user_id: 'Balan').in('phone.number' => ['22232323'])

这个查询语法是由Origin提供的(现在是Mongoid的依赖项)。[1]

解决方案如下:

temp = User.where(user_id: => "Balan",:'phone.number'.in => ["22232323"])

OR如果你想以不同的方式运行

temp = User.where(user_id: => "Balan").where(:'phone.number'.in => ["22232323"])

最新更新