ruby-on-rails mongoid

ruby on rails - Seleccione donde no sea nulo o vacío en mongoid



default value mongoid (3)

Tratar

Model.where(:url.ne => "", :url.exists => true).count

ver Mongoid Symbol Operators

Modifiqué un modelo por lo que incluye un nuevo campo, como ...

field :url, :type => String

Yo uso activeadmin, así que cuando creo una nueva entrada @model.url está vacía, y en las entradas creadas antes de cambiar el esquema es nil. ¿Cómo selecciono ambos? Yo he tratado:

# Returns nils and strings Model.where(:url.ne => "").count # Returns strings and "" Model.where(:url.ne => nil).count # Returns strings, nils and "" Model.where(:url.ne => ["", nil]).count

O bien, si hay una mejor práctica para este tipo de escenario, hágamelo saber.


Tratar

Model.where(:url.nin => ["", nil]).count

Funciona incluso cuando url = nil


Tratar:

Model.nin(url: ['''', nil])