2011-07-17 12 views
0

私はMongoDBを持っています(私は本当にMongoが好きです)。コレクションの1つでは、オブジェクトの配列を保存しようとしています。これらのオブジェクトの一部は、文字列、いくつかのブール、いくつかの小数です。 配列の定義は、(実際には辞書である)、このです:私のコードは、データベースにデータを保存時点までMongoDB永続型混合型配列

 public Dictionary<string, object> Fields 
    { 
     get 
     { 
      if (_Fields == null) 
       _Fields = new Dictionary<string, object>(); 
      return _Fields; 
     } 
     set 
     { 
      _Fields = value; 
     } 
    } 

、配列内の変数の種類が正しいです。 MongoHQまたはコードでデータを保存して見ると、配列にはすべての文字列が返されます。

私はこれにC#ドライバを使用しています。

変数を型に強制する方法はありますか?私はここに何かを逃していますかTIA

答えて

0

あなたが求めているのは妥当です。オブジェクトに関する特別な構文はありません。入力が文字列でないことを確認してください。しかし、私が持っている(古いかもしれない)ソースコードでは、BSONシリアライザの辞書のマッピングが見えません。

BerkeleyDBでは、保存した各タイプのコールバックを定義する必要がありましたが、BSONを介したMongoDBはそれより少しスマートです。

btw:MongoDB用にhttps://github.com/atheken/NoRMドライバを使用しています。あなたは何を使っていますか?

アイデア:

  • ではなく、辞書

  • シリアル化/にあなたの辞書をデシリアライズ/バイトから[]

のコレクション、リスト、または配列を試してみてください