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

Има ли поддръжка на драйвер за mongodb C# System.Dynamic.DynamicObject в .NET 4?

Създадох директно разширение към драйвера MongoDB, което повторно сериализира BSON документа с помощта на Json.NET и го десериализира като динамичен. Като включите следния клас, можете просто да конвертирате вашите MongoDB заявки в динамични като това

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

Клас на разширение:

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);
    }
}

Не забравяйте да посочите Newtonsoft.Json.dll (http://james.newtonking.com /projects/json-net.aspx )



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb:вземете само листа от дърво

  2. Как да конвертирате поле за низ, разделено със запетая, в масив в mongodb

  3. Съвкупност от различни подтипове в документ на колекция

  4. Свържете се с MongoDB база данни с помощта на mongoose зад прокси

  5. Данните за актуализиране на MongoDB във вложено поле