Mongoid:Array包含元素或为空

时间:2014-04-07 10:03:59

标签: ruby-on-rails ruby mongodb mongoid mongodb-query

如果字符串在数组中或数组为空,我想发出一个返回我的集合中元素的请求。我尝试了以下方法:

Collection.all_of(or: [{ assets: my_asset }, { assets: [] } ])

但这不起作用。

这适用于空数组:

Collection.where(assets: my_asset)

2 个答案:

答案 0 :(得分:4)

我更喜欢使用

Collection.where(:assets.in => [[], my_asset])

答案 1 :(得分:1)

尝试使用any_of

Collection.any_of({ assets: my_asset }, { assets: [] })