2012-04-24 67 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;