如何以原子方式增加整数字段?FindAndModify 方法可以帮助吗?
例如文档包含字段count
,我想在不检索完整文档并保存回来的情况下增加它。
我确实发表了评论,但我找到了。$inc
修饰符将在内部增加一个字段。完全原子地用于这个确切的目的。
请参阅此处“Monog DB 原子操作”
根据 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;