sql >> データベース >  >> NoSQL >> MongoDB

.NET4にmongodbC#ドライバーサポートSystem.Dynamic.DynamicObjectはありますか?

    Json.NETを使用してBSONドキュメントを再シリアル化し、動的として逆シリアル化するMongoDBドライバーの簡単な拡張機能を作成しました。次のクラスを含めることで、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. Mongodbでタイムゾーン設定を使用してクエリを実行する方法

    2. Laravel Homestead Mongoのインストールにより、PHPエラーが未定義のシンボルになります:php_json_serializable_ce in Unknown on line 0

    3. コレクションJavaMongodb内のすべてのオブジェクトを検索します

    4. ApacheHBaseのMOBの新しいサポートの内部