加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 使用mongomapper查找包含Array字段中元素的文档?

发布时间:2020-12-17 02:42:39 所属栏目:百科 来源:网络整理
导读:我是 mongodb / mongomapper的新手,无法找到答案. 我有一个mongomapper类,包含以下字段 key :author_id,Integerkey :partecipant_ids,Array 假设我有一个具有以下属性的“记录”: { :author_id = 10,:partecipant_ids = [10,15,201] } 我想要检索涉及id为15
我是 mongodb / mongomapper的新手,无法找到答案.

我有一个mongomapper类,包含以下字段

key :author_id,Integer
key :partecipant_ids,Array

假设我有一个具有以下属性的“记录”:

{ :author_id => 10,:partecipant_ids => [10,15,201] }

我想要检索涉及id为15的partecipant的所有对象.
我没有在文档中找到任何提及.

奇怪的是,以前我在做这个查询

MessageThread.where :partecipant_ids => [15]

哪个工作,但在(或许)宝石/ mongodb版本的一些变化后它停止工作.
不幸的是,我不知道我之前使用过哪个版本的mongodb和mongomapper.

解决方法

在当前版本的MongoMapper中,这将起作用:

MessageThread.where(:partecipant_ids => 15)

这应该也有效……

MessageThread.where(:partecipant_ids => [15])

…因为勇敢的自动扩展到:

MessageThread.where(:partecipant_ids => { :$in => [15] })

(见https://github.com/jnunemaker/plucky/blob/master/lib/plucky/criteria_hash.rb#L121)

我要说看看你的数据并在Mongo控制台中尝试查询,以确保你有一个有效的查询. MongoDB查询直接转换为MM查询,除了上述(以及其他一些小的)警告.见http://www.mongodb.org/display/DOCS/Querying

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读