sql >> Databasteknik >  >> NoSQL >> MongoDB

Finns det mongodb C#-drivrutinsstöd System.Dynamic.DynamicObject i .NET 4?

Jag skapade en enkel förlängning till MongoDB-drivrutinen som omserialiserar BSON-dokumentet med Json.NET och deserialiserar det som en dynamik. Genom att inkludera följande klass kan du helt enkelt konvertera dina MongoDB-frågor till dynamiska så här

dynamic obj = collection.FindOneByIdAs<BsonDocument>(someObjectId).ToDynamic();

Tilläggsklass:

public static class MongoDynamic
{
    private static System.Text.RegularExpressions.Regex objectIdReplace = new System.Text.RegularExpressions.Regex(@"ObjectId\((.[a-f0-9]{24}.)\)", System.Text.RegularExpressions.RegexOptions.Compiled);
    /// <summary>
    /// deserializes this bson doc to a .net dynamic object
    /// </summary>
    /// <param name="bson">bson doc to convert to dynamic</param>
    public static dynamic ToDynamic(this BsonDocument bson)
    {
        var json = objectIdReplace.Replace(bson.ToJson(), (s) => s.Groups[1].Value);
        return Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(json);
    }
}

Var noga med att referera till Newtonsoft.Json.dll (http://james.newtonking.com /projects/json-net.aspx )



  1. är map/reducera lämpligt för att hitta medianen och läget för en uppsättning värden för många poster?

  2. MongoDB, ta bort objekt från array

  3. Redis listor

  4. Introduktion till Redis Cluster Sharding – Fördelar, begränsningar, distribution och klientanslutningar