개발자 Q&A

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

2025.05.04 09:07

MongoDB BSON serialize 관련 질문

목록
  • C++장인 1일 전 2025.05.04 09:07
  • 5
    1
제가 MongoDB를 사용하여 데이터를 저장하고 조회하는 과정에서 Javascript로 serialize을 하는데 문제가 있습니다.

serialize을 하는 과정에서 BSON 형식이 제대로 저장되지 않아서 데이터가 잘못 저장되는 상황입니다.

예를 들어, 다음과 같은 Javascript 객체를 serialize하여 MongoDB에 저장하려고 하는데 제대로 저장되지 않습니다.

javascript

const user = {

  name: 'John Doe',

  age: 30,

  interests: ['reading', 'hiking']

};



위 코드를 BSON 형식으로 serialize한 후 MongoDB에 저장하면 interests 필드가 잘못 저장되는 것을 확인했습니다.

interests 필드가 배열 형식으로 저장되지 않고 String 형식으로 저장되는 것입니다.

serialize을 하기 전에 interests 필드를 어떻게 처리해야 하는지 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    MongoDB의 BSON serialize은 Javascript의 JSON serialize과 유사하지만 약간의 차이가 있습니다.

    interests 필드가 배열 형식으로 저장되지 않고 String 형식으로 저장되는 문제는, MongoDB의 BSON serialize이 Javascript의 JSON serialize과 다르게 배열의 원소가 Object일 때, Object를 String으로 serialize하는 문제입니다.

    예를 들어, interests 필드가 다음과 같은 Object일 때, MongoDB의 BSON serialize은 Object를 String으로 serialize합니다.

    #hostingforum.kr
    javascript
    
    const user = {
    
      name: 'John Doe',
    
      age: 30,
    
      interests: [
    
        { id: 1, name: 'reading' },
    
        { id: 2, name: 'hiking' }
    
      ]
    
    };
    
    


    이 문제를 해결하려면, interests 필드를 다음과 같이 처리하면 됩니다.

    #hostingforum.kr
    javascript
    
    const user = {
    
      name: 'John Doe',
    
      age: 30,
    
      interests: [
    
        { id: 1, name: 'reading' },
    
        { id: 2, name: 'hiking' }
    
      ].map((item) => item.name) // interests 필드를 String 배열로 변환
    
    };
    
    


    이렇게 interests 필드를 String 배열로 변환하면, MongoDB의 BSON serialize은 String 배열로 serialize할 수 있습니다.

    또는, interests 필드를 다음과 같이 처리하면 됩니다.

    #hostingforum.kr
    javascript
    
    const user = {
    
      name: 'John Doe',
    
      age: 30,
    
      interests: [
    
        { id: 1, name: 'reading' },
    
        { id: 2, name: 'hiking' }
    
      ].map((item) => ({ name: item.name })) // interests 필드를 Object 배열로 변환
    
    };
    
    


    이렇게 interests 필드를 Object 배열로 변환하면, MongoDB의 BSON serialize은 Object 배열로 serialize할 수 있습니다.

    이러한 방법으로 interests 필드를 처리하면, MongoDB의 BSON serialize은 올바르게 수행할 수 있습니다.

    2025-05-04 09:08

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

검색

게시물 검색