查找和修改MongoDB c#

本文关键字:MongoDB 修改 查找 | 更新日期: 2023-09-27 17:51:13

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

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的例子,但它似乎是针对字段的比较(即:"field" = value),而不是像我这样的搜索。

处理这个问题最好/最有效的方法是什么?

查找和修改MongoDB c#

下面的代码是这样做的(c# MongoDB。司机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);