
	                	                 
fromJSON() 메소드는 JSON 데이터를 BSON 형식으로 변환할 때는 다음과 같은 옵션을 사용할 수 있습니다.
- strict: JSON 데이터의 유효성을 검사하여 BSON 데이터에 포함시키지 않는 필드를 제거합니다. 기본값은 false입니다.
- ignoreUndefined: JSON 데이터의 undefined 값을 BSON 데이터에 포함시키지 않습니다. 기본값은 false입니다.
- checkExtraElements: JSON 데이터의 추가 필드를 BSON 데이터에 포함시키지 않습니다. 기본값은 false입니다.
- checkExtraValues: JSON 데이터의 추가 값을 BSON 데이터에 포함시키지 않습니다. 기본값은 false입니다.
JSON 데이터의 특정 필드를 BSON 데이터에 포함시키지 않으려면, strict 옵션을 true로 설정하면 됩니다.
fromJSON() 메소드 사용 시 발생할 수 있는 에러를 처리하는 방법은 다음과 같습니다.
- try-catch 문을 사용하여 에러를捕捉하고 처리합니다.
- 에러를 처리하는 로직을 구현하여 에러를 예방합니다.
다음은 예제입니다.
#hostingforum.kr
javascript
const { MongoClient } = require('mongodb');
// MongoDB 연결 설정
const url = 'mongodb://localhost:27017';
const dbName = 'mydatabase';
const collectionName = 'mycollection';
// MongoDB 연결
MongoClient.connect(url, (err, client) => {
  if (err) {
    console.error(err);
    return;
  }
  const db = client.db(dbName);
  const collection = db.collection(collectionName);
  // JSON 데이터
  const jsonData = {
    name: 'John Doe',
    age: 30,
    address: {
      street: '123 Main St',
      city: 'Anytown',
      state: 'CA',
      zip: '12345'
    }
  };
  // fromJSON() 메소드 사용
  const bsonData = JSON.parse(JSON.stringify(jsonData));
  const options = { strict: true };
  const bson = BSON.fromJSON(bsonData, options);
  // BSON 데이터 저장
  collection.insertOne(bson, (err, result) => {
    if (err) {
      console.error(err);
      return;
    }
    console.log(result);
  });
  client.close();
});
이 예제에서는 strict 옵션을 true로 설정하여 JSON 데이터의 추가 필드를 BSON 데이터에 포함시키지 않습니다.
2025-05-17 20:06