我有一个对内存数据执行快速操作的应用程序。此数据在内存中表示为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"})
但是编写序列化器/反序列化器变得非常烦人,因为一对一的映射会这样做:
{
mykey: { tag1: "foo1", tag2: "foo2"},
mydata: { ... }
}
我觉得这是一个很常见的问题。实现这一目标的最佳解决方案是什么?我想保留原来的 Dictionary 结构,但我不想为 Serializer 重新发明轮子。
我可以遵循任何想法/教程吗?这甚至是我应该做的事情吗?