gpt4 book ai didi

c# - 使用 Mongo C# 2.0 驱动程序替换嵌入式文档

转载 作者:可可西里 更新时间:2023-11-01 09:56:45 26 4
gpt4 key购买 nike

我有一个包含单位数组的文档,如下所示:

{
"_id" : ObjectId("5807c22e959ca231f0c48a75"),
"Code" : "Value",
"Units" : [
{
"_id" : ObjectId("5807cc08959ca331f09c530e"),
"Code" : "Foo",
"Label" : "Foo"
},
{
"_id" : ObjectId("5807cc08959ca331f09c530e"),
"Code" : "Bar",
"Label" : "Bar"
},
]
}

我想通过它的 id 找到一个单元并用一个新文档替换它。我如何使用 Mongo C# Driver 2.0 做到这一点?

提前致谢!

最佳答案

谢谢大家。根据您的回答,我想出了以下解决方案:

var mainDocumentId = "5807c22e959ca231f0c48a75";
var arrayItemId = "5807cc08959ca331f09c530e"; //Id for foo

var unit = new Unit(...)
var filter = Builders<UnitType>.Eq(o => o.Id, mainDocumentId); // optional
filter &= Builders<UnitType>.Filter.ElemMatch(o => o.Units, o => o.Id == arrayItemId);
var update = Builders<UnitType>.Update.Set(o => o.Units[-1], unit);

collection.UpdateOne(filter, update);

关于c# - 使用 Mongo C# 2.0 驱动程序替换嵌入式文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40141646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com