インメモリ データに対して高速な操作を実行するアプリケーションがあります。このデータは、メモリ内では として表されますDictionary<MyKey,MyData>
。はMyKey
、いくつかの文字列タグを含むクラスです。
public class MyKey
{
string tag1;
string tag2;
...
}
そしてMyData
、いくつかのテキストを含むオブジェクトです。
次のようなドキュメントのコレクションとしてMongoDBに保存したいと思います。
{
tag1: "foo1",
tag2: "foo2",
mydata: { ... }
},
{
tag1: "bar1",
tag2: "bar2",
mydata: { ... }
}...
mongodbセレクターを使用できるように:
db.MyCollection.find({tag1: "foo1"})
しかし、1 対 1 のマッピングで済むため、シリアライザー/デシリアライザーを記述するのは非常に面倒です。
{
mykey: { tag1: "foo1", tag2: "foo2"},
mydata: { ... }
}
これはかなり一般的な問題のように感じます。これを達成するための最良の解決策は何ですか?元のディクショナリ構造を維持したいのですが、シリアライザの車輪を再発明したくありません。
私が従うことができるアイデア/チュートリアルはありますか? これは私がしなければならないことでもありますか?