将.NET对象插入MongoDB

时间:2013-03-05 12:39:26

标签: mongodb mongodb-.net-driver

我们有一个包含数百个类/枚举的大型应用程序,我们希望使用MongoDB来存储其中的一些。

情况是有一个当前系统,我们将.NET对象二进制序列化为SQL数据库中的字段,然后按需反序列化。我们想要的是将对象放入Mongo中,使我们能够直接查询对象的属性(即,不必将对象加载到内存中,反序列化等)。这样我们就可以开始从历史数据中获得一些分析,而无需彻底改变代码库。

我的问题是,这件事很容易实现吗?在C#驱动程序中是否有内置的序列化程序来执行此操作?

如果我正在尝试做的事情本身就是错误的话,我也愿意接受提出更好的方法的答案。

更新:要清楚,我正在尝试做的是使用NHibernate加载的对象,并将其作为Queryable对象插入Mongo。最终,我也希望在某些时候将它重新加载到内存中。

2 个答案:

答案 0 :(得分:0)

MongoDB基本上是JSON文档的存储,所以如果你可以用JSON方式序列化你的对象,你可以将它存储在MongoDB中,我假设有很多用于.NET的JSON序列化器,所以应该是很容易找到一个。

一旦所有内容都作为JSON存储在MongoDB中,您将能够查询它,而无需任何其他工具直接查询数据库。

此致

答案 1 :(得分:0)

您可以使用Simple.Data.MongoDB MongoDB的轻量级动态数据访问.NET组件