Jestem w sytuacji, w której nie mogę przewidzieć, które pola będą mieć mój dokument MongoDB. Nie mogę już tworzyć obiektu o polu _id
typu BsonID
. Uważam za bardzo wygodne tworzenie Słownika (HashTable) i dodawanie do niego obiektów DateTime i String, tyle razy, ile ich potrzebuję.Wstaw słownik do MongoDB za pomocą sterownika C#
Następnie próbuję wstawić wynikowy obiekt Dictionary do MongoDb, ale domyślna serializacja kończy się niepowodzeniem.
Oto mój obiekt typu HashTable (jak słownik, ale z różnych typów wewnątrz):
{ "_id":"",
"metadata1":"asaad",
"metadata2":[],
"metadata3":ISODate("somedatehere")}
a błąd w sterowniku pojawia się:
serializer DictionarySerializer opcje spodziewać serializacji typu DictionarySerializationOptions, a nie DocumentSerializationOptions
Przeszukałem go, ale nie mogłem znaleźć niczego przydatne. Co ja robię źle?
To jest genialne , Dziękuję Ci bardzo! –
@RobertStam Zapewnia to rozwiązanie dla pól "dynamicznych". Dwa questioins: ** 1) ** w aplikacji piekarniczej, użytkownicy wolą zachować własną konwencję pisania "marka A, cukier, 2 (implikuje łyżkę), 300 (sugeruje temperaturę), 20 (implikuje minuty)". Każdy nie ma klucza. ** 2) ** Jak robię więcej czytania, [klasa mapowania] (http://mongodb.github.io/mongo-csharp-driver/2.0/reference/bson/mapping/) również wskazuje, że muszę użyć '. IDictionary', Fine. Ale twierdzi, że nie zachowa porządku. Jakikolwiek sposób na zachowanie porządku? – Jeb50