MongoDB C#-数组中特定对象的更新属性

Juzzbott

我正在尝试更新文档中数组中特定对象的属性。

例如:

{
    _id: #####
    Items: [
        { Key: 1, Value: "Something" },
        { Key: 2, Value: "Foo" },
        { Key: 1, Value: "Bar" },
    ]
}

我正在使用MongoDB C#2.0驱动程序,这就是我要使用的过滤器(尽管我很确定这将匹配整个文档,而不是子文档)。

FilterDefinition<GroupDto> filter = Builders<GroupDto>.Filter.Eq(i => i.Id, groupId) &
       Builders<GroupDto>.Filter.ElemMatch(i => i.Items, u => u.Key == key);

实际上,我要实现的目标是按ID匹配文档,然后在Items数组中找到“键”匹配的对象,然后仅为该特定数组对象更新“值”属性。因此,我匹配键:2,我可以仅更新键:2的“值”字段,并且键:1和键:3保持不变。

这有可能吗?

干杯,贾斯汀

Juzzbott

实际上,在阅读了所发布的问题之后,它并不是一个重复的问题。在另一个问题的示例中,替换了整个子文档,因为我只想更新一个字段。

因此,我在这里的MongoDB CSHARP驱动程序的Jira票证中找到了答案:https : //jira.mongodb.org/browse/CSHARP-531

您可以在索引器中使用-1来指定使用位置运算符。

从票:

这仅适用于2.0.0中的新API。-1可用作索引器或与GetElementAt一起使用,以指示我们使用位置运算符。例如:

Builders<Entity>.Update.Set(x => x.MyArray[-1].Value, 10);
// will yield {$set: { "MyArray.$.Value", 10 } }

干杯,贾斯汀

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB C#-数组中特定对象的更新属性

来自分类Dev

文档中的MongoDB C#更新数组

来自分类Dev

MongoDB C#查询包含属性值的对象数组

来自分类Dev

在C#/ MongoDB中更新嵌套数组的最佳方法

来自分类Dev

Mongodb:从数组中查找和更新对象属性

来自分类Dev

使用c#驱动程序在MongoDB中使用此对象的另一个属性更新嵌套集合中的对象属性

来自分类Dev

在MongoDB中更新特定数组索引处的对象

来自分类Dev

如何更新MongoDB NodeJS数组中的特定对象

来自分类Dev

更新mongodb中的对象数组

来自分类Dev

使用C#将对象插入mongodb

来自分类Dev

MongoDB C# - 更新以清除列表

来自分类Dev

如何使用 C# 在 MongoDB 中的对象的项目数组中包含新项目?

来自分类Dev

MongoDB FilterDefinition和C#中的IQueryable

来自分类Dev

了解MongoDB C#中的WriteConcern

来自分类Dev

在 C# 中检索 mongoDB 字段的值

来自分类Dev

MongoDB-更新对象数组中的数组

来自分类Dev

使用C#驱动程序在MongoDB中搜索对象数组

来自分类Dev

如何使用MongoDB C#将新对象插入(推入)嵌套数组中?

来自分类Dev

使用MongoDB和C#在数组中查询深度嵌套的对象

来自分类Dev

如何使用MongoDB C#将新对象插入(推入)嵌套数组中?

来自分类Dev

MongoDB C#驱动程序-更新嵌入式文档数组中的所有字段

来自分类Dev

使用C#驱动程序更新MongoDB中的多个数组项

来自分类Dev

使用LINQ / C#在MongoDB集合中查找子对象

来自分类Dev

使用C#从mongoDB中的文档中选择所需的对象

来自分类Dev

如何使用c#查询从mongodb返回的json数组中的特定项

来自分类Dev

如何在 C# 中使用 Mongodb.Driver 对 MongoDb 表中的数组对象应用过滤器?

来自分类Dev

如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

来自分类Dev

如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

来自分类Dev

更新MongoDb中对象的所有属性

Related 相关文章

  1. 1

    MongoDB C#-数组中特定对象的更新属性

  2. 2

    文档中的MongoDB C#更新数组

  3. 3

    MongoDB C#查询包含属性值的对象数组

  4. 4

    在C#/ MongoDB中更新嵌套数组的最佳方法

  5. 5

    Mongodb:从数组中查找和更新对象属性

  6. 6

    使用c#驱动程序在MongoDB中使用此对象的另一个属性更新嵌套集合中的对象属性

  7. 7

    在MongoDB中更新特定数组索引处的对象

  8. 8

    如何更新MongoDB NodeJS数组中的特定对象

  9. 9

    更新mongodb中的对象数组

  10. 10

    使用C#将对象插入mongodb

  11. 11

    MongoDB C# - 更新以清除列表

  12. 12

    如何使用 C# 在 MongoDB 中的对象的项目数组中包含新项目?

  13. 13

    MongoDB FilterDefinition和C#中的IQueryable

  14. 14

    了解MongoDB C#中的WriteConcern

  15. 15

    在 C# 中检索 mongoDB 字段的值

  16. 16

    MongoDB-更新对象数组中的数组

  17. 17

    使用C#驱动程序在MongoDB中搜索对象数组

  18. 18

    如何使用MongoDB C#将新对象插入(推入)嵌套数组中?

  19. 19

    使用MongoDB和C#在数组中查询深度嵌套的对象

  20. 20

    如何使用MongoDB C#将新对象插入(推入)嵌套数组中?

  21. 21

    MongoDB C#驱动程序-更新嵌入式文档数组中的所有字段

  22. 22

    使用C#驱动程序更新MongoDB中的多个数组项

  23. 23

    使用LINQ / C#在MongoDB集合中查找子对象

  24. 24

    使用C#从mongoDB中的文档中选择所需的对象

  25. 25

    如何使用c#查询从mongodb返回的json数组中的特定项

  26. 26

    如何在 C# 中使用 Mongodb.Driver 对 MongoDb 表中的数组对象应用过滤器?

  27. 27

    如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

  28. 28

    如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

  29. 29

    更新MongoDb中对象的所有属性

热门标签

归档