개발자 Q&A

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

2025.06.30 01:57

MongoDBBSONDecimal128::serialize 관련 질문

목록
  • 스택오버플로우장인 1일 전 2025.06.30 01:57
  • 10
    1
제가 MongoDBBSONDecimal128클래스의 serialize() 함수를 사용하여 숫자를 BSON 형식으로 serialize 할 때, decimal128 타입의 숫자를 serialize 할 때 오류가 발생합니다.

serialize() 함수의 사용법을 알려주시거나, decimal128 타입의 숫자를 serialize 할 때 발생할 수 있는 오류를 알려주시거나, 해결 방법을 알려주세요.

아래는 예제를 포함한 내용입니다.

cpp

#include 

#include 

#include 

#include 



int main() {

    mongocxx::instance inst{};

    mongocxx::client conn{mongocxx::uri{}};



    bsoncxx::builder::stream::document doc = {};

    doc << "num" << 12345678901234567890;  // decimal128 타입의 숫자



    bsoncxx::document::view bson_doc = doc.view();



    // serialize() 함수를 사용하여 BSON 형식으로 serialize

    bsoncxx::document::value bson_value = conn["test"]["num"].insert_one(bson_doc).context("insert failed");



    return 0;

}



위 코드에서 decimal128 타입의 숫자를 serialize 할 때 오류가 발생합니다. serialize() 함수의 사용법을 알려주시거나, 오류를 해결할 수 있는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전

    MongoDBBSONDecimal128::serialize() 함수는 decimal128 타입의 숫자를 BSON 형식으로 serialize 할 때 오류가 발생할 수 있습니다.

    이 문제는 MongoDBBSONDecimal128::serialize() 함수가 decimal128 타입의 숫자를 serialize 할 때, MongoDB의 버전과 호환성 문제로 인해 발생할 수 있습니다.

    해결 방법은 MongoDBBSONDecimal128::serialize() 함수 대신, MongoDBBSONDecimal128::to_string() 함수를 사용하여 decimal128 타입의 숫자를 문자열로 변환한 다음, serialize() 함수를 사용하여 BSON 형식으로 serialize 할 수 있습니다.

    다음은 예제 코드입니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        mongocxx::instance inst{};
    
        mongocxx::client conn{mongocxx::uri{}};
    
    
    
        bsoncxx::builder::stream::document doc = {};
    
        doc << "num" << 12345678901234567890;  // decimal128 타입의 숫자
    
    
    
        bsoncxx::document::view bson_doc = doc.view();
    
    
    
        // decimal128 타입의 숫자를 문자열로 변환
    
        std::string decimal_str = bsoncxx::to_string(bson_doc["num"].get_decimal128());
    
    
    
        // serialize() 함수를 사용하여 BSON 형식으로 serialize
    
        bsoncxx::document::value bson_value = conn["test"]["num"].insert_one(
    
            bsoncxx::document::view{std::string("num").append(decimal_str)}).context("insert failed");
    
    
    
        return 0;
    
    }
    
    


    이 예제 코드에서는 decimal128 타입의 숫자를 문자열로 변환한 다음, serialize() 함수를 사용하여 BSON 형식으로 serialize합니다.

    2025-06-30 01:58

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

검색

게시물 검색