MongoDB 셸에서 pretty() 함수로 가독성 높은 출력하기
MongoDB 셸에서 조회 결과를 보기 좋게 출력하려면 커서(cursor) 객체에 pretty() 함수를 호출하면 됩니다. 기본 문법은 다음과 같습니다.
db.yourCollectionName.find().pretty();
개념을 이해하기 위해 실제 문서가 포함된 컬렉션을 만들어 보겠습니다. 아래는 문서와 함께 컬렉션을 생성하는 쿼리입니다.
> db.prettyDemo.insertOne({"ClientName":"Larry","ClientAge":27,"ClientFavoriteCountry":["US","UK"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a440de01f572ca0ccf5f2")
}
> db.prettyDemo.insertOne({"ClientName":"Mike","ClientAge":57,"ClientFavoriteCountry":["AUS","UK"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a4420e01f572ca0ccf5f3")
}find() 메서드로 전체 문서 조회하기
find() 메서드를 사용하면 컬렉션의 모든 문서를 조회할 수 있습니다. 쿼리는 다음과 같습니다.
> db.prettyDemo.find();
위 쿼리의 출력 결과는 다음과 같습니다.
{ "_id" : ObjectId("5c8a440de01f572ca0ccf5f2"), "ClientName" : "Larry", "ClientAge" : 27, "ClientFavoriteCountry" : [ "US", "UK" ] }
{ "_id" : ObjectId("5c8a4420e01f572ca0ccf5f3"), "ClientName" : "Mike", "ClientAge" : 57, "ClientFavoriteCountry" : [ "AUS", "UK" ] }기본 출력 결과는 한 줄로 이어져 있어 필드가 많아지면 읽기 어려울 수 있습니다. 이때 pretty() 함수를 활용하면 해결됩니다.
pretty() 함수 호출 방법
pretty() 함수를 호출하는 쿼리는 다음과 같습니다.
> db.prettyDemo.find().pretty();
출력 결과는 다음과 같습니다.
{
"_id" : ObjectId("5c8a440de01f572ca0ccf5f2"),
"ClientName" : "Larry",
"ClientAge" : 27,
"ClientFavoriteCountry" : [
"US",
"UK"
]
}
{
"_id" : ObjectId("5c8a4420e01f572ca0ccf5f3"),
"ClientName" : "Mike",
"ClientAge" : 57,
"ClientFavoriteCountry" : [
"AUS",
"UK"
]
}이처럼 pretty()를 사용하면 각 필드가 들여쓰기된 형태로 정렬되어 중첩된 배열이나 객체도 한눈에 파악할 수 있습니다. MongoDB 셸에서 디버깅이나 데이터 확인 작업을 자주 한다면 find() 뒤에 pretty()를 붙이는 습관을 들이면 큰 도움이 됩니다.