使用mongocsharpdriver更新文档的正确方法

时间:2012-08-20 20:10:12

标签: mongodb mongodb-.net-driver

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

现在我有插入更新方法

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和mongocsharpdriver的新手。我在保存List<>

等属性时遇到问题

1 个答案:

答案 0 :(得分: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