MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Sprawianie, że Json.NET + MongoDB Bson grają razem dobrze

Tak, musisz jawnie zaimplementować konwersję między JObject i BsonDocument rodzaj. Możesz zaimplementować własny konwerter i użyć atrybutów, aby uniknąć przechodzenia przez strukturę typu C#. Wypróbuj:

public class Detail
{
    [BsonSerializer(typeof(DynamicSerializer))]
    public dynamic Value { get; set; }
}

public class DynamicSerializer : SerializerBase<dynamic>
{
    public override dynamic Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
    {
        var myBSONDoc = BsonDocumentSerializer.Instance.Deserialize(context);
        return (dynamic)JObject.Parse(context.ToString());
    }

    public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, dynamic value)
    {
        var bson = MongoDB.Bson.BsonDocument.Parse(value.ToString());
        BsonDocumentSerializer.Instance.Serialize(context, args, bson);
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $facet agregacja w monogdb

  2. Podziel ciąg na tablicę podciągów lub znaków w MongoDB

  3. Jak korzystać z funkcji agregacji mongo db-query

  4. Jak przekonwertować pymongo.cursor.Cursor na dict?

  5. Potrzebujesz wskazówek dotyczących wyszukiwania agregacji mongo, aby zliczyć podwęzły we wszystkich węzłach podrzędnych dla każdego węzła