sql >> Database >  >> NoSQL >> MongoDB

Json.NET + MongoDB Bson leuk samen laten spelen

Ja, u moet expliciet conversie implementeren tussen JObject en BsonDocument type. U kunt uw eigen converter implementeren en attributen gebruiken om te voorkomen dat u uw C#-type structuur doorkruist. Probeer:

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. Golang GraphQL MongoDB Worstelend om datum en id uit de database te halen

  2. Hoe tijdstempel te extraheren uit mongodb objectid in postgres

  3. Spring data redis overschrijven standaard serializer

  4. MongoSocketReadException:voortijdig einde van stream bereikt (na een periode van inactiviteit)