Programing

mongoid에서 null이 아니거나 비어 있지 않은 곳을 선택하십시오.

lottogame 2020. 10. 14. 07:18
반응형

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.where(:url.ne => "", :url.exists => true).count

Mongoid 기호 연산자 참조


시험:

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

참고 URL : https://stackoverflow.com/questions/10337847/select-where-not-null-or-empty-in-mongoid

반응형