【问题标题】:MongoDB: increment the integer field (C#)MongoDB:增加整数字段(C#)
【发布时间】:2012-05-05 01:55:48
【问题描述】:

如何以原子方式增加整数字段? FindAndModify 方法有帮助吗?

例如文档包含字段count,我想增加它而不检索完整文档并保存回来。

【问题讨论】:

    标签: c# integer atomic increment mongodb


    【解决方案1】:

    根据 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;
    

    【讨论】:

      【解决方案2】:

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

      请看这里"Monog DB Atomic Operations"

      【讨论】:

      • 啊,您需要特定的驱动程序帮助,您应该能够像使用任何其他修饰符一样使用它。请参阅我刚刚添加的链接,您只需将要递增的字段传递给$inc。那是一个相当标准的功能,在您的驱动程序中应该不会有太大的不同。如果您在问题上发布一些代码,我们可能会弄清楚。
      • Paystey,谢谢,我找到了使用更新mongodb.org/display/DOCS/…的示例
      猜你喜欢
      • 2011-07-22
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      相关资源
      最近更新 更多