
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