MongoDB에서 문서를 조회하려면 find() 메서드를 사용합니다. 여기에 pretty() 메서드를 함께 사용하면 조회 결과를 보기 좋은 형식으로 정렬하여 출력할 수 있습니다.
컬렉션 생성 및 문서 삽입
먼저 insertOne() 메서드를 사용해 문서가 포함된 컬렉션을 만들어 보겠습니다.
> db.demo306.insertOne({"Name":"Robert","Age":21});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4ea7c6f8647eb59e562038")
}
> db.demo306.insertOne({"Name":"David","Age":23});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4ea7cdf8647eb59e562039")
}
> db.demo306.insertOne({"Name":"Mike","Age":25});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4ea7d4f8647eb59e56203a")
}
> db.demo306.insertOne({"Name":"Carol","Age":26});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4ea7dcf8647eb59e56203b")
}find()와 pretty()로 전체 문서 조회하기
이제 find() 메서드에 pretty()를 연결하여 컬렉션의 모든 문서를 가독성 높은 형태로 출력합니다.
> db.demo306.find().pretty();
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
{
"_id" : ObjectId("5e4ea7c6f8647eb59e562038"),
"Name" : "Robert",
"Age" : 21
}
{
"_id" : ObjectId("5e4ea7cdf8647eb59e562039"),
"Name" : "David",
"Age" : 23
}
{
"_id" : ObjectId("5e4ea7d4f8647eb59e56203a"),
"Name" : "Mike",
"Age" : 25
}
{
"_id" : ObjectId("5e4ea7dcf8647eb59e56203b"),
"Name" : "Carol",
"Age" : 26
}정리
find()는 조건에 맞는 문서를 검색하는 기본 메서드이며, 인자 없이 호출하면 컬렉션의 모든 문서를 반환합니다. pretty()를 체이닝하면 각 필드가 들여쓰기된 구조화된 형태로 표시되어, 문서가 많거나 중첩 구조가 복잡한 경우에도 결과를 한눈에 파악하기 쉽습니다. 참고로 MongoDB 셸 버전에 따라 find() 결과가 이미 어느 정도 정렬되어 출력되기도 하지만, 명시적으로 pretty()를 사용하면 일관된 가독성을 유지할 수 있습니다.