Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB 쿼리 결과를 보기 좋게 출력하는 방법

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() 대신 위 방법들이 일반적으로 활용됩니다.