Mongo C # игнорировать свойство - PullRequest
14 голосов
/ 08 декабря 2010

Я использую v0.9 официального драйвера MongoDB и пытаюсь прочитать коллекцию. У меня есть поле в базе данных, которое я не хочу читать в свой объект, но я получаю следующую ошибку.

«Неожиданный элемент: сеть»

Коллекция выглядит так в базе данных

Merchants
 - _id
 - Name
 - Description
 - Url
 - Network

Когда я читаю его в C #, я хочу создать объект с именем Merchant, который имеет все те же свойства, кроме «Сеть». Как мне это сделать?

1 Ответ

21 голосов
/ 09 декабря 2010

На сериализаторе BSON есть опция «IgnoreExtraElements», которую вы можете включить, чтобы предотвратить эту ошибку.

Либо установите его в качестве атрибута в вашем Merchant классе:

[BsonIgnoreExtraElements]
public Merchant {
    // fields and properties
}

или в коде, если вы используете карты классов:

BsonClassMap.RegisterClassMap<Merchant>(cm => {
    cm.AutoMap();
    cm.SetIgnoreExtraElements(true);
});
...