개발자 Q&A

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

2025.07.07 17:38

MongoDBBSONUnserializable::bsonUnserialize 에러 해결 방법을 알려주세요

목록
  • 웹접근성장인 13일 전 2025.07.07 17:38
  • 54
    1
제가 MongoDBBSONUnserializable::bsonUnserialize 에러가 발생하는 코드를 작성했는데, 뭘 잘못했는지 모르겠습니다.
swift

let document = ["name": "John", "age": 30]

let bson = try! BSON(document)


이 코드를 실행하면 `MongoDBBSONUnserializable::bsonUnserialize` 에러가 발생합니다. `BSON` 클래스의 `init` 메서드에 어떤 파라미터를 넘겨야 하는지 알려주세요.

또한, `BSON` 클래스의 `init` 메서드가 어떤 파라미터를 요구하는지 확인해 보았는데, `BSON` 클래스의 `init` 메서드는 다음과 같은 파라미터를 요구합니다.
swift

init?(_ bson: Data)


이 파라미터를 넘겨보았는데도 에러가 발생합니다. 이에 대한 해결 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  13일 전



    `MongoDBBSONUnserializable::bsonUnserialize` 에러는 BSON 데이터를 생성할 때 발생하는 에러입니다. 이 에러는 BSON 데이터를 생성할 때, 데이터의 타입이 맞지 않거나, 데이터가 유효하지 않은 경우에 발생합니다.

    `BSON` 클래스의 `init` 메서드는 `Data` 타입의 파라미터를 요구합니다. 이 파라미터는 BSON 데이터를 표현하는 바이너리 데이터입니다.

    `let document = ["name": "John", "age": 30]` 이 코드는 Swift의 Dictionary 타입을 생성하는 코드입니다. 이 Dictionary 타입을 BSON 데이터로 변환하려면, `Data` 타입으로 변환해야 합니다.

    다음은 해결 방법입니다.

    #hostingforum.kr
    swift
    
    let document = ["name": "John", "age": 30]
    
    let bsonData = try! BSON(document).data()
    
    let bson = try! BSON(data: bsonData)
    
    


    위 코드에서, `BSON(document).data()` 메서드를 사용하여 Dictionary 타입을 BSON 데이터로 변환한 후, `BSON(data: bsonData)` 메서드를 사용하여 BSON 데이터를 생성합니다.

    또한, `BSON` 클래스의 `init` 메서드는 옵셔널 반환 타입을 가지고 있습니다. 이 옵셔널 반환 타입은 BSON 데이터를 생성할 때, 에러가 발생한 경우에 nil을 반환합니다. 따라서, `try!` 키워드를 사용하여 에러를 강제로 처리할 수 있습니다.

    2025-07-07 17:39

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

검색

게시물 검색