首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C# .net删除mongodb中其他列表中的ID项

使用C# .net删除mongodb中其他列表中的ID项
EN

Stack Overflow用户
提问于 2022-09-13 20:04:24
回答 1查看 57关注 0票数 1

我有一个类似大学的结构,有一个类的列表。I为mongodb中的3个实体创建了CRUD,除了student对象中的delete之外,一切正常。

我有个这样的儿子

代码语言:javascript
运行
复制
{
  "id": "u01",
  "classes": [
    {
      "id": "c01",
      "students": [
        {
          "id": "s01",
          "name": "Ana"
        },
        {
          "id": "s02",
          "name": "Jonh"
        }
      ]
    }
  ]
}

我需要使用dot.net的id dot.net并尝试使用pullFilter

代码语言:javascript
运行
复制
    var filter = Builders<University>.Filter.And(Builders<University>.Filter.ElemMatch(doc => doc.Classes, c => c.Id == "c01"));
    var update = Builders<University>.Update.PullFilter(c => c.Classes.First().Students, item => item.Id == "s02");
    collection.FindOneAndUpdateAsync(filter, update);

我没有例外,但没有发挥作用。怎么了?Ty寻求帮助

EN

回答 1

Stack Overflow用户

发布于 2022-09-15 07:53:39

为了从匹配筛选器的第一个类中删除该学生,您可以在MongoDB中指定以下字段:

代码语言:javascript
运行
复制
classes.$.students

在C#中,您可以通过使用-1的索引来模拟这一点,例如:

代码语言:javascript
运行
复制
var update = Builders<University>
  .Update
  .PullFilter(c => c.Classes.ElementAt(-1).Students, item => item.Id == "s02");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73708655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档