컬렉션에 부울 필드가 있는데이 필드 값이 false 인 모든 레코드를 쿼리하려고합니다. 이 쿼리에 가장 적합한 디자인 (성능)은 무엇입니까? 이 필드는 부울 true/false를 저장해야합니까? true/null (존재 = 거짓)? 아니면 문자열 형식에 대한 더 나은 성능을 가지고 .. 절약 문자열/빈 문자열 또는 문자열/null (존재 = 거짓)? 어떤 색인을 사용해야합니까?mongo collection by boolean 필드
답변
참/거짓이면 부울 유형으로 저장하는 것이 좋습니다. JSON은 부울 유형을 지원합니다. 문자열을 "TRUE"/ "FALSE"또는 "TRUE/FALSE"로 가질 수 있으므로 문자열을 "true"/ "false"로 사용하는 것은 좋지 않습니다. 모두 쿼리에 부담을줍니다. 문자열이므로 해당 필드에 더티 데이터가있을 위험이 있습니다.
쿼리에서 null로 확인하면 {'field':null}
, 여기에는 필드가 없거나 필드 값이 실제로 null입니다. 그렇지 않으면 필드가없는 위치를 얻으려면 $ exists {'field' : {$exists : false}}
을 사용하십시오. {'field':true}
이가 아닌 기존의 필드가 거짓으로 고려하고 그 논리를 포함 할 할 하지 같은 경우
{'field' : {$exists : true}}
같은 것을 말할 필요도없이, 어쩌면 $ ne- {'field' : {$ne : true}}
확인하는 것이 좋습니다. 그러나 MongoDB는 부정적인 쿼리를 $ 또는 오히려 부정적인 쿼리를 추천합니다. {$or : [{'field':null},{'field':false}]}
이러한 모든 것들을 문자열로 유지함으로써 수행 할 수도 있습니다.하지만 특별히 문자열을 만들기 위해 스크립트를 실행하는 경우 추가 부담이 있습니다. 부울 비교보다 덜 신뢰할 수있는 비교.
인덱스로 돌아 오면 인덱스가 부울 유형과 잘 맞지 않습니다. 데이터를 분리 할 필요가 없기 때문에 인덱스가 더 이상 필요하지 않습니다.하지만 String 일지라도 궁극적으로 인덱스를 기반으로하므로 단지 두 개 (또는 세 개)의 값. 그래서 비교 우위는 보이지 않습니다.
- 1. Mongo 3.2 Boolean 배열
- 2. Mongo DB Join collection
- 3. Mongo DB + group by 마지막 필드 데이터
- 4. Mongo _Audit Collection
- 5. DataGridView by boolean
- 6. Zend mongo undefined Collection :: setSlaveOkay()
- 7. mongo capped collection 건너 뛰기
- 8. mongodb in mongo db collection
- 9. * group by mongo aggregation을 선택하십시오.
- 10. 대형 mongo collection 오프 사이트 처리
- 11. MongoDB Collection 레코드 수 Count 그룹 by
- 12. Magento Group by 'name'by product collection
- 13. 다중 필드 열에서 Mongo 추상 필드
- 14. 이름에 문자열을 사용하여 Mongo 문서에 필드 추가
- 15. Mongo Shell의 문서 필드 암호화
- 16. 다중 필드 업데이트 Mongo DB
- 17. java bean boolean json & boolean vs Boolean 부류
- 18. Mongo DB Collection Field Index에서 값 1은 무엇을 나타 냅니까?
- 19. Mongo Shell을 통해 Non-Collection 임베디드 문서 제거
- 20. Mongo Collection (C#)에서 최신 문서를 찾는 방법
- 21. Side by Side 필드 편집
- 22. Mongo 매퍼 (Mongo DB) 임베디드 문서 다중 필드 검색
- 23. Mongo 콜렉션의 배열에있는 개체 필드 업데이트가 meteor.js에서 작동하지 않습니까?
- 24. Mongo/Rails Mongoid 인덱스가 포함 된 필드
- 25. CLI 유틸리티를 사용하여 mongo 컬렉션에 필드 추가
- 26. mongo 쿼리에서 선택한 형식의 날짜 필드 투영
- 27. Mongo Update를 사용하고 필드 삽입 $ (throwing error)
- 28. mongo group 쿼리 필드 유지 방법
- 29. mongo (python)에 목록 필드 추가하기
- 30. Mongo 필드 A가 B 필드보다 큼