[ruby-on-rails] mongoid에서 null이 아니거나 비어 있지 않은 곳을 선택하십시오.
다음과 같은 새 필드를 포함하도록 모델을 수정했습니다.
field :url, :type => String
저는 activeadmin을 사용하므로 새 항목을 만들 때 @model.url
비어 있고 스키마를 변경하기 전에 만든 항목에서는 nil입니다. 둘 다 어떻게 선택합니까? 나는 시도했다 :
# 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
또는 이런 종류의 시나리오에 대한 모범 사례가 있으면 알려주십시오.
답변
시험
Model.where(:url.nin => ["", nil]).count
그것은 때에도 작동합니다 url = nil
답변
답변
시험:
Model.nin(url: ['', nil])