Mongoid :数组包含元素或为空

Jul*_*lhé 1 ruby ruby-on-rails mongodb mongoid mongodb-query

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

Collection.all_of(or: [{ assets: my_asset }, { assets: [] } ])
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

这有效但不适用于空数组:

Collection.where(assets: my_asset)
Run Code Online (Sandbox Code Playgroud)

a14*_*14m 5

我更喜欢使用

Collection.where(:assets.in => [[], my_asset])
Run Code Online (Sandbox Code Playgroud)