작성
·
224
0
안녕하세요.
find 로 document 출력하는 건 다 되는데요 비교 문법($)만 쓰면 결과가 나오지 않습니다.
어떻게 해야 하나요?
답변 1
0
안녕하세요. 답변 도우미입니다.
MongoDB에서 문서를 조회할 때 비교 연산자를 사용하면 문서가 나오지 않는 경우는 일반적으로 두 가지 이유가 있습니다:
비교하는 필드의 값이 조건과 일치하는 문서가 존재하지 않을 때.
쿼리 문법에 문제가 있을 때.
업로드하신 스크린샷에 따르면, db.users.find({age:{$gt:25}})
쿼리를 사용하고 계신데, 이는 "age 필드의 값이 25보다 큰 모든 문서를 찾아라" 라는 의미입니다. 만약 이 쿼리로 결과가 나오지 않는다면, 다음을 확인해보시면 좋을 것 같습니다:
age
필드가 존재하는지와 해당 필드가 숫자형 데이터인지 확인해보세요.
실제로 age
필드의 값이 25보다 큰 문서가 데이터베이스에 존재하는지 확인해보세요.
만약 위의 조건들이 모두 충족된다면, 쿼리 문법 자체에는 문제가 없는 것으로 보입니다. 따라서 다음 단계로 진행해보세요:
데이터베이스에 저장된 문서의 구조를 확인하세요. 가령, age
필드가 하위 문서에 속해있다면 쿼리는 다르게 작성되어야 합니다.
age
필드의 데이터 타입이 예상과 다를 수 있습니다. 예를 들어, age
가 문자열로 저장되어 있다면, 숫자 비교 연산자는 작동하지 않습니다.
감사합니다.
오늘 다시 해보니 됐어요 감사합니다!!!