Mongo UpdateOne,用于使用Lambda和FieldDefinition向数组C#添加子文档

Mongo UpdateOne,用于使用Lambda和FieldDefinition向数组C#添加子文档,c#,mongodb,C#,Mongodb,我对c#mongo驱动程序的字段定义有问题。我的机器人3T updateOne运行得很好,所以我清楚地了解mongo的一面 本质上,我需要创建一个可以在updateOn()操作中使用的字段定义:FieldDefinition,但是我应该解释我试图做什么导致了这个问题。这样可能会有一个不同的更合适的解决方案 下面的mongo查询在Robo3T中运行良好 db.teams.update({ _id: ObjectId("607ff1fb313a448aa3312272")

我对c#mongo驱动程序的字段定义有问题。我的机器人3T updateOne运行得很好,所以我清楚地了解mongo的一面

本质上,我需要创建一个可以在updateOn()操作中使用的字段定义:
FieldDefinition
,但是我应该解释我试图做什么导致了这个问题。这样可能会有一个不同的更合适的解决方案

下面的mongo查询在Robo3T中运行良好

db.teams.update({
    _id: ObjectId("607ff1fb313a448aa3312272")
}, {
    $addToSet: {
        Users:         {
            "_id" : ObjectId("603cd341e420290239a2baf0"),
            "id" : 94,
            "first_name" : "Jane",
            "surname" : "Darling",

        }
    }
});
在证明了我的理解之后,我继续创建了下面的C代码来实现这一点

            UpdateDefinition<Team> UpdateDefinition 
                = Builders<Team>.Update.
                    AddToSet(x => x.TeamMembers, UserList);
          
            MongoClient.UpdateOne<Team>(
                TeamFilter, 
                UpdateDefinition, 
                CollectionTeam);
UpdateDefinition UpdateDefinition
=Builders.Update。
AddToSet(x=>x.TeamMembers,UserList);
MongoClient.UpdateOne(
团队过滤器,
更新定义,
收集小组);
如果您查看以下帖子,我的假设似乎是正确的,即如何指定插入子文档的数组:

但是,我得到以下错误:

这对我来说也没问题,所以我试图创建一个字段定义,但我现在被卡住了。理论上,创建字段定义应该很容易。除了我没有找到合适的例子

本质上,这就是我试图利用的方法签名


提前感谢。

解决方案非常简单

            UpdateDefinition<Team> UpdateDefinition
                = Builders<Team>.Update.
                    AddToSetEach(x => x.TeamMembers, UserList);
UpdateDefinition UpdateDefinition
=Builders.Update。
AddToSetEach(x=>x.TeamMembers,UserList);
不容易找到的原因是mongo驱动程序语法与mongo语法不同