MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

C# 10gen и mongo:десериализация за членове като интерфейси

Проблемът с персонализирани колекции в 1.4.2 и по-ранни е, че тъй като няма сериализатор, регистриран за вашата персонализирана колекция, C# драйверът се опитва да го сериализира с помощта на BsonClassMapSerializer. Но BsonClassMapSerializer изисква класът, който се сериализира, да изложи всички данни за сериализиране като публични свойства за получаване/задаване (което вашият базов клас List не прави).

Единственото нещо, което се променя в 1.5, е как драйверът избира кой сериализатор да използва, когато POCO имплементира IEnumerable или IDictionary.

Можете да използвате персонализирани колекции вече в 1.4.2 и по-стари, като изрично регистрирате сериализатор за вашата персонализирана колекция по следния начин:

BsonSerializer.RegisterSerializer(typeof(MyCollection), new EnumerableSerializer<int>());


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:намерете поддокумент без нотация с точка

  2. MongoDB MapReduce - Излъчване на един ключ/една стойност не извиква намаляване

  3. TypeError:callback.apply не е функция след allowDiskUse

  4. В MongoDB съществуват подобрени полета за заявки

  5. BSON към JSON преобразуване с помощта на MongoDB Driver Java API