C# 更新MongoDb驱动程序中的操作-替换提前更新的内容

C# 更新MongoDb驱动程序中的操作-替换提前更新的内容,c#,mongodb,C#,Mongodb,这就像我试图替换一些已经存在的内容。我试过两种不同的方法 这是我试过的第一个: var filter = Builders<CourseClass>.Filter.Eq(e => e.Id, id); var update = Builders<CourseClass>.Update.Set(r => r.CourseCategories, model); _courseClass.FindOne

这就像我试图替换一些已经存在的内容。我试过两种不同的方法

这是我试过的第一个:

var filter = Builders<CourseClass>.Filter.Eq(e => e.Id, id);
                var update = Builders<CourseClass>.Update.Set(r => r.CourseCategories, model);
                _courseClass.FindOneAndReplace(filter, update, new FindOneAndReplaceOptions<CourseClass,TProjection>()
                {
                    IsUpsert = true,
                    ReturnDocument = ReturnDocument.After,
                    Sort = Builders<CourseClass>.Sort.Descending(r => r.Id)
                });
var-filter=Builders.filter.Eq(e=>e.Id,Id);
var update=Builders.update.Set(r=>r.CourseCategories,model);
_courseClass.FindOneAndReplace(筛选、更新、新建FindOneAndReplace选项()
{
IsUpsert=true,
ReturnDocument=ReturnDocument.After,
Sort=Builders.Sort.Descending(r=>r.Id)
});
现在的问题是“Tproject”显示它有一个错误,我基本上不明白为什么

我已经看过了我在底部提到的那篇文章

因此,我也尝试过这样做,但它告诉我好像有什么问题。“FindOneAndReplace”这句话毫无意义

var filter = Builders<CourseClass>.Filter.Eq(e => e.Id, id);
            var update = Builders<CourseClass>.Update.Set(r => r.CourseCategories, model);
            _courseClass.FindOneAndReplace(filter, update, new UpdateOptions(){ IsUpsert = true});
var-filter=Builders.filter.Eq(e=>e.Id,Id);
var update=Builders.update.Set(r=>r.CourseCategories,model);
_courseClass.FindOneAndReplace(筛选、更新、新更新选项(){IsUpsert=true});
现在,因为它是那么,我希望这是我现在的内容。它也可以被新的内容取代,这些内容必须进入不同的地方