【问题标题】:Find and Modify with MongoDB C#使用 MongoDB C# 查找和修改
【发布时间】:2016-10-10 09:06:04
【问题描述】:

我正在尝试替换以下代码:

var R = Challenges.FindAll().SetSortOrder("UseCount").First();
var Q = Query.EQ("_id", R._id);
var U = Update.Inc("UseCount", 1);
Challenges.Update(Q, U);
return R;

这是意图:
我在数据库中有一个名为“UseCount”的字段,我想找到具有较低值的记录。如果许多记录具有相同的值,我只想要第一个(这并不重要)。
同时,我希望将“UseCount”字段加一。

我见过 FindAndModify 的例子,但它似乎适合与字段比较(即:“字段”=值),而不是像我正在做的搜索。

处理此问题的最佳/最有效方法是什么?

【问题讨论】:

    标签: c# mongodb sorting


    【解决方案1】:

    按照代码执行 (C# MongoDB.Driver 2.0)

    var collection = database.GetCollection<BsonDocument>("product");
    var filter = new BsonDocument();
    var update = Builders<BsonDocument>.Update.Inc("UseCount", 1);
    var sort = new FindOneAndUpdateOptions<BsonDocument>
    {
                Sort = Builders<BsonDocument>.Sort.Ascending("UseCount")
    };
    await collection.FindOneAndUpdateAsync(filter, update, sort);
    

    【讨论】:

      猜你喜欢
      • 2019-03-24
      • 2013-11-05
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多