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
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])