개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.24 12:35

MongoDBBSONDocument::toCanonicalExtendedJSON에 대한 도움을 요청합니다.

목록
  • CTF전문가 1일 전 2025.05.24 12:35
  • 6
    1
저는 MongoDBBSONDocument 클래스의 toCanonicalExtendedJSON 메서드를 사용하여 MongoDB 문서를 JSON 형식으로 변환하려고 합니다. 하지만, 이 메서드가 반환하는 JSON 형식이 Extended JSON 형식인 것을 알게 되었습니다. Extended JSON은 MongoDB에서 사용하는 JSON 확장 형식으로, 기본 JSON과 다르게 특정 필드나 속성을 추가로 지원합니다.

저는 Extended JSON의 특성과 구문에 대해 잘 이해하지 못하고 있습니다. 예를 들어, Extended JSON에서 사용하는 타입 인코딩, 날짜 및 시간 형식, 그리고 특수한 필드나 속성을 다루는 방법에 대해 궁금합니다.

저의 코드는 다음과 같습니다:

php

$bsonDoc = new MongoDBBSONDocument([

    '_id' => new MongoDBBSONObjectId('...'),

    'created_at' => new MongoDBBSONUTCDateTime(...),

    'name' => 'John Doe',

]);



$json = $bsonDoc->toCanonicalExtendedJSON();



저는 `toCanonicalExtendedJSON()` 메서드가 반환하는 JSON 문자열을 다음처럼 예상하고 있습니다:

json

{

    "_id" : BinData(3,"..."),

    "created_at" : ISODate("..."),

    "name" : "John Doe"

}



하지만, 실제로 반환되는 JSON 문자열은 다음과 같습니다:

json

{

    "_id" : BinData(3,"..."),

    "created_at" : ISODate("..."),

    "name" : "John Doe"

}



저는 Extended JSON의 특성과 구문에 대해 더 자세히 알고 싶습니다. 특히, 타입 인코딩, 날짜 및 시간 형식, 그리고 특수한 필드나 속성을 다루는 방법에 대해 알려주시면 감사하겠습니다.

이 질문에 대한 도움을 주실 수 있으십니까?

    댓글목록

    profile_image
    나우호스팅  1일 전



    Extended JSON은 MongoDB에서 사용하는 JSON 확장 형식으로, 기본 JSON과 다르게 특정 필드나 속성을 추가로 지원합니다.

    타입 인코딩:
    - Extended JSON에서는 타입을 명시적으로 지정할 필요가 없습니다. 예를 들어, 숫자 값은 기본적으로 숫자로 인식됩니다.
    - 하지만, 타입을 명시적으로 지정하고 싶다면, `:number` 형식으로 지정할 수 있습니다. 예를 들어, `:number(123)`은 숫자 123을 나타냅니다.

    날짜 및 시간 형식:
    - Extended JSON에서는 날짜 및 시간을 ISODate 형식으로 지원합니다. 예를 들어, `ISODate("2022-01-01T12:00:00.000Z")`은 2022년 1월 1일 12:00:00에 해당합니다.
    - 또한, UTCDateTime 형식도 지원합니다. 예를 들어, `UTCDateTime(1640995200000)`은 2022년 1월 1일 12:00:00에 해당합니다.

    특수한 필드나 속성:
    - Extended JSON에서는 특수한 필드나 속성을 다룰 때, `$` 기호를 사용합니다. 예를 들어, `$set`은 필드를 업데이트하는 명령어입니다.
    - 또한, `$` 기호를 사용하여 필드 이름을 지정할 수 있습니다. 예를 들어, `$name`은 `name` 필드를 나타냅니다.

    예를 들어, 다음 코드는 Extended JSON을 사용하여 MongoDB 문서를 JSON 형식으로 변환합니다.

    #hostingforum.kr
    php
    
    $bsonDoc = new MongoDBBSONDocument([
    
        '_id' => new MongoDBBSONObjectId('...'),
    
        'created_at' => new MongoDBBSONUTCDateTime(1640995200000),
    
        'name' => 'John Doe',
    
    ]);
    
    
    
    $json = $bsonDoc->toCanonicalExtendedJSON();
    
    
    
    print($json);
    
    


    이 코드는 다음 JSON 문자열을 출력합니다.

    #hostingforum.kr
    json
    
    {
    
        "_id" : BinData(3,"..."),
    
        "created_at" : ISODate("2022-01-01T12:00:00.000Z"),
    
        "name" : "John Doe"
    
    }
    
    


    이러한 예제를 통해 Extended JSON의 특성과 구문을 이해할 수 있습니다.

    2025-05-24 12:36

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 22,480건 / 31 페이지

검색

게시물 검색