2014-09-08 1 views
0

데이터베이스의 데이터 구조를 반영해야하는 클래스를 선언했기 때문에 MongoDB에서 결과를 검색 할 수는 없지만 정확하지는 않습니다. 데이터가 어떻게 구조화되었는지 (구조가 느슨한 지) 확신 할 수있는 방법이 없습니다.Visual Studio의 csharp 드라이버를 통해 mongodb에서 예측할 수없는 구조 결과 처리

어떻게 든이 동작을 무시하고 구조를 내 클래스에 맞게 시도하지 않고 결과를 데이터베이스에 반환 할 수 있습니까?

답변

1

여기 내가 사용하는 것이므로 다른 필드 나 누락 된 필드가있는 문서를 구문 분석 할 수 있습니다. 모든 필드가 더 이상 내용을 가질 것으로 기대할 수는 없으므로 많은 수의 null 검사가 필요할 것입니다.

[BsonIgnoreExtraElements] 
public class MongoClass 
{ 
... 
} 
+0

오류가 발생하기 쉬운 해결책이긴하지만. Craig Wilson (운전자의 개발자 중 한 명)이 제안한 것처럼'BsonExtraElements'를 사용하는 것이 더 안전합니다. – i3arnon

+0

감사합니다 I3arnon,하지만 당신은 좀 더 설명 할 수 있을까요? 나는 그것에 문제가 없었지만 나는 또한 프로가 아니다. 감사! – JHN

+0

'BsonIgnoreExtraElements'는 여분의 데이터를 무시하므로 문제를 숨기고 있는지 알 수 없습니다. 'BsonExtraElements'는 클래스의 특정 속성에 여분의 데이터를 저장하므로 구조가 적합하지 않을 때 최소한 식별 할 수 있습니다. 이 정보를 기록하거나 실제 유형화되지 않은 데이터를 사용할 수도 있습니다. – i3arnon

2

기본적으로 사전 인 MongoDB.Bson.BsonDocument를 사용하거나 모든 문서의 공통 구조를 나타내는 클래스를 정의한 다음 BsonExtraElements 속성을 사용하여 다르다.