【发布时间】:2012-05-05 01:55:48
【问题描述】:
如何以原子方式增加整数字段? FindAndModify 方法有帮助吗?
例如文档包含字段count,我想增加它而不检索完整文档并保存回来。
【问题讨论】:
标签: c# integer atomic increment mongodb
如何以原子方式增加整数字段? FindAndModify 方法有帮助吗?
例如文档包含字段count,我想增加它而不检索完整文档并保存回来。
【问题讨论】:
标签: c# integer atomic increment mongodb
根据 Paystey 的回答,这里有一些使用 2.1.0 版 C# 驱动程序的代码,以防其他人需要它:
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;
【讨论】:
我确实发表了评论,但我找到了。 $inc 修饰符将在内部增加一个字段。为了这个确切的目的,完全原子化。
【讨论】:
$inc。那是一个相当标准的功能,在您的驱动程序中应该不会有太大的不同。如果您在问题上发布一些代码,我们可能会弄清楚。