[mongodb] Mongo : 특정 필드가없는 항목 찾기

MongoDB에서 특정 필드가 누락 된 컬렉션의 문서를 검색하는 방법은 무엇입니까?



답변

예, $ exists를 사용하는 것이 가능 합니다 .

db.things.find( { a : { $exists : false } } ); // return if a is missing

true 인 경우 $ exists는 필드 값이 null 인 문서를 포함하여 필드가 포함 된 문서와 일치합니다. false 인 경우 쿼리는 필드를 포함하지 않는 문서 만 반환합니다.


답변

당신은 필드가 누락 된 경우에는 상관하지 않는 경우 null(또는 적이없는 경우 null) 다음은 약간 짧은 사용할 수 있습니다 안전 :

db.things.find( { a : null } ); // return if a is missing or null

필드가 null 인 경우에도 $exists반환 되므로 더 안전합니다 true. 이는 종종 원하는 결과가 아니며 NPE로 이어질 수 있습니다.


답변