mongodb C#驱动程序中缺少FindModify

mongodb C#驱动程序中缺少FindModify,c#,mongodb,driver,C#,Mongodb,Driver,我使用的是Mongodb shell 3.2.4和C#驱动程序2.2.3。我甚至安装了旧版驱动程序2.2.3,但仍然面临以下问题 我想为我的一个字段(即eventID)使用自动递增值,因此我尝试使用FindAndModify,但似乎找不到它 _client = new MongoClient(); _database = _client.GetDatabase("users"); var counters = _database.GetCollection<BsonDo

我使用的是Mongodb shell 3.2.4和C#驱动程序2.2.3。我甚至安装了旧版驱动程序2.2.3,但仍然面临以下问题

我想为我的一个字段(即eventID)使用自动递增值,因此我尝试使用FindAndModify,但似乎找不到它

_client = new MongoClient();
_database = _client.GetDatabase("users");
var counters = _database.GetCollection<BsonDocument>("counters");
var counterQuery = Query.EQ("_id", "eventId");

var findAndModifyResult = counters.FindAndModify(
      new FindAndModifyArgs()
      {
          Query = counterQuery,
          Update = Update.Set("web", "testweb")
     });
\u client=new MongoClient();
_数据库=_client.GetDatabase(“用户”);
var counters=_database.GetCollection(“counters”);
var counterQuery=Query.EQ(“\u id”,“eventId”);
var findAndModifyResult=counters.FindAndModify(
新的FindModifyArgs()
{
查询=反查询,
Update=Update.Set(“web”、“testweb”)
});
但我得到以下错误:

Error   2   'MongoDB.Driver.IMongoCollection<MongoDB.Bson.BsonDocument>' does not contain a definition for 'FindAndModify' and no extension method 'FindAndModify' accepting a first argument of type 'MongoDB.Driver.IMongoCollection<MongoDB.Bson.BsonDocument>' could be found (are you missing a using directive or an assembly reference?)
错误2“MongoDB.Driver.IMongoCollection”不包含“FindAndModify”的定义,并且找不到接受“MongoDB.Driver.IMongoCollection”类型的第一个参数的扩展方法“FindAndModify”(是否缺少using指令或程序集引用?)
附加屏幕截图

在新的2.0驱动程序中,现在称为FindOneAndUpdate

您的问题中混合了旧的遗留驱动程序和新的格式-Query.EQ也来自遗留驱动程序-因此我建议首先删除该遗留驱动程序

然后,您应该能够通过使用构建器获得所需的内容,例如:

var _client = new MongoClient();
var _database = _client.GetDatabase("users");
var counters = _database.GetCollection<BsonDocument>("counters");
var counterQuery = Builders<BsonDocument>.Filter.Eq("_id", "eventId");

var findAndModifyResult = counters.FindOneAndUpdate(counterQuery,
              Builders<BsonDocument>.Update.Set("web", "testweb"));
var\u client=new MongoClient();
var_database=_client.GetDatabase(“用户”);
var counters=_database.GetCollection(“counters”);
var counterQuery=Builders.Filter.Eq(“\u id”,“eventId”);
var findAndModifyResult=counters.FindOneAndUpdate(counterQuery,
Builders.Update.Set(“web”、“testweb”);

在新的2.0驱动程序中,现在称为FindOneAndUpdate

您的问题中混合了旧的遗留驱动程序和新的格式-Query.EQ也来自遗留驱动程序-因此我建议首先删除该遗留驱动程序

然后,您应该能够通过使用构建器获得所需的内容,例如:

var _client = new MongoClient();
var _database = _client.GetDatabase("users");
var counters = _database.GetCollection<BsonDocument>("counters");
var counterQuery = Builders<BsonDocument>.Filter.Eq("_id", "eventId");

var findAndModifyResult = counters.FindOneAndUpdate(counterQuery,
              Builders<BsonDocument>.Update.Set("web", "testweb"));
var\u client=new MongoClient();
var_database=_client.GetDatabase(“用户”);
var counters=_database.GetCollection(“counters”);
var counterQuery=Builders.Filter.Eq(“\u id”,“eventId”);
var findAndModifyResult=counters.FindOneAndUpdate(counterQuery,
Builders.Update.Set(“web”、“testweb”);