MongoDB에서 find() 메서드로 조회한 결과는 기본적으로 한 줄로 길게 출력되어 가독성이 떨어질 수 있습니다. 다행히도 결과를 더 읽기 좋은 형식으로 확인할 수 있는 방법이 몇 가지 있습니다.
1. findOne() 사용하기
단일 문서를 보기 좋은 형식으로 출력하려면 findOne()을 사용하면 됩니다.
db.yourCollectionName.findOne();
2. find().toArray() 사용하기
여러 문서를 배열 형태로 정렬된 구조로 보고 싶다면 toArray()를 활용할 수 있습니다.
db.yourCollectionName.find().toArray();
실습: 샘플 컬렉션 만들기
먼저 테스트용 컬렉션에 문서를 삽입해 보겠습니다.
> db.betterFormatDemo.insertOne({"StudentName":"Adam Smith","StudentScores":[98,67,89]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7ab826d78f205348bc640")
}
> db.betterFormatDemo.insertOne({"StudentName":"John Doe","StudentScores":[67,89,56]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7ab936d78f205348bc641")
}
> db.betterFormatDemo.insertOne({"StudentName":"Sam Williams","StudentScores":[45,43,33]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7aba76d78f205348bc642")
}find() 메서드를 사용해 컬렉션의 모든 문서를 조회해 보겠습니다.
> db.betterFormatDemo.find();
실행 결과는 다음과 같습니다. 각 문서가 한 줄로 이어져 출력되어 읽기가 다소 불편합니다.
{ "_id" : ObjectId("5cd7ab826d78f205348bc640"), "StudentName" : "Adam Smith", "StudentScores" : [ 98, 67, 89 ] }
{ "_id" : ObjectId("5cd7ab936d78f205348bc641"), "StudentName" : "John Doe", "StudentScores" : [ 67, 89, 56 ] }
{ "_id" : ObjectId("5cd7aba76d78f205348bc642"), "StudentName" : "Sam Williams", "StudentScores" : [ 45, 43, 33 ] }방법 1: findOne()으로 조회하기
findOne()을 사용하면 단일 문서가 들여쓰기된 형식으로 깔끔하게 출력됩니다.
> db.betterFormatDemo.findOne();
출력 결과는 다음과 같습니다.
{
"_id" : ObjectId("5cd7ab826d78f205348bc640"),
"StudentName" : "Adam Smith",
"StudentScores" : [
98,
67,
89
]
}방법 2: find().toArray()로 조회하기
모든 문서를 보기 좋은 형식으로 확인하려면 find().toArray()를 사용합니다.
> db.betterFormatDemo.find().toArray();
출력 결과는 다음과 같습니다. 전체 문서가 배열 안에 들여쓰기되어 표시됩니다.
[
{
"_id" : ObjectId("5cd7ab826d78f205348bc640"),
"StudentName" : "Adam Smith",
"StudentScores" : [
98,
67,
89
]
},
{
"_id" : ObjectId("5cd7ab936d78f205348bc641"),
"StudentName" : "John Doe",
"StudentScores" : [
67,
89,
56
]
},
{
"_id" : ObjectId("5cd7aba76d78f205348bc642"),
"StudentName" : "Sam Williams",
"StudentScores" : [
45,
43,
33
]
}
]정리
단일 문서를 확인할 때는 findOne(), 여러 문서를 구조화된 형태로 확인할 때는 find().toArray()를 사용하면 MongoDB 쿼리 결과를 훨씬 읽기 쉽게 확인할 수 있습니다. 참고로 최신 버전의 mongosh에서는 .pretty() 대신 위 방법들이 일반적으로 활용됩니다.