我正在尝试创建一个帮助类,用于在C#4.0中与MongoDb进行交互。我一直在阅读关于序列化到Bson等的一些文档,但有点迷失。我所拥有的是一个通用的MongoHelper类,带有Add(T objectToAdd),Delete(T objectToDelete)和Update(T objectToUpdate)方法。构造函数接受服务器,db和集合信息。
我遇到了麻烦,试图从T序列化。我无知地试过这样的事情:
BsonClassMap.RegisterClassMap()ToBsonDocument();
我真的迷失在这么简单的事情上。请帮忙!
答案 0 :(得分:3)
您不必序列化对象。司机为你做这件事。如果您正在使用C#类,请确保您的类具有公共无参数构造函数,并且要序列化的值将作为公共属性公开。像这样的类是自动处理的。或者,您可以选择使用BsonDocuments在较低级别工作,但它们也会自动为您序列化。
将C类对象保存到数据库所需要做的就是:
var server = MongoServer.Create("mongodb://localhost/?safe=true");
var database = server.GetDatabase("test");
var collection = database.GetCollection<C>("test");
var c = new C();
// initialize c
collection.Insert(c);
这就是它的全部。要阅读它,你只需写下:
c = collection.FindOne();
虽然通常你也会写一个查询。