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

Направете Json.NET + MongoDB Bson да играят добре заедно

Да, трябва изрично да приложите преобразуване между JObject и BsonDocument Тип. Можете да внедрите свой собствен конвертор и да използвате атрибути, за да избегнете пресичането на структурата на вашия C# тип. Опитайте:

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. Агрегиране на MongoDB - $group по дата, дори и да не съществува

  2. Как да стартирате mongodb от dockerfile

  3. Трябва ли да използвам Java String Pool за синхронизация въз основа на уникален клиентски идентификатор?

  4. Обработка на асинхронни заявки към база данни в node.js и mongodb

  5. Поддръжка на ръчни справки