0

我正在为一个虚拟项目创建一个简单的文档管理器

现在我有插入更新方法

public ObjectId Insert(T model)
{

    _collection.Insert(model);

    return model.Id;
}

public void Update(T model)
{
    var query = Query.EQ("_id", model.Id);

    var bson = model.ToBsonDocument();
    bson.Remove("_id");

    var update = new UpdateDocument
    {
        { "$set" , bson }
    };
    _collection.Update(query, update);
}

这是这样做的正确方法吗?我是 mongo 和 mongossharpdriver 的新手。我在保存 List<> 等属性时遇到问题

4

1 回答 1

0

将文档保存回数据库的最简单方法是使用 Save 方法:

collection.Save(model);

这确实会导致将整个文档发送到服务器,因此如果您知道只有几个字段正在更改,您可以使用 Update.Set 仅更改这些字段。

请参阅在线文档:

http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Save%3CTDocument%3Emethod

http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Updatemethod

于 2012-08-21T05:04:09.303 回答