2012-04-24 65 views

回答

2

我确实留下了评论,但我找到了。 $inc修饰符将在内部增加一个字段。完全原子为了这个确切的目的。

看到这里"Monog DB Atomic Operations"

+0

是的,谢谢你,但我没有找到如何使它在C# – Edward83 2012-04-24 12:31:42

+0

啊,你想要特定的驱动程序帮助,你应该能够像使用其他修饰符一样使用它。看到我刚刚添加的链接,您只需将字段传递给您想增加的“$ inc”。这是一个相当标准的功能,在你的驱动程序中不应该太差。如果你在你的问题上发布一些代码,我们可能会弄清楚。 – Paystey 2012-04-24 12:33:35

+0

Paystey,谢谢,我发现使用Update的示例http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Updatemethod – Edward83 2012-04-24 12:36:48

1

基于从Paystey答案这里是一个使用C#驱动程序的2.1.0版本的一些代码,以防万一有人需要它:

var filter = Builders<BsonDocument>.Filter.Eq("_id", id); 
var update = new BsonDocument("$inc", new BsonDocument { { "votes", 1 } }); 
var coll = db.GetCollection<BsonDocument>("collection"); 
var doc = coll.FindOneAndUpdateAsync(filter, update).Result;