【发布时间】:2025-12-12 04:00:02
【问题描述】:
如何更新 BSON 文档中
假设我们有这个类:
public class Message
{
public string Text {get;set;}
public Dictionary<byte, string> Contents {get;set;}
}
在 MongoDB 中,消息集合看起来像这样:
{
_id : 12345,
Text : "This is a text",
Contents: [ [1 : "true"], [3 : "youtube"] ]
}
更新应该是这样的
var query = Query.EQ("_id", messageId);
var update = Update.Set("Contents", -> how to build me?);
MessageCollection.Update(query, update);
【问题讨论】:
-
尝试在mongoDB manual 搜索有关 BSON 文档的信息。
-
我没有时间告诉你,可以在这里找到答案:docs.mongodb.org/manual/core/document
-
我有点困惑:这里的问题是什么?此代码(以及您下面其他评论中的代码)是否运行?运行时会发生什么?
-
问题是:如何序列化
字典,然后只更新 MongoDB 中现有文档的字典方?如果您对像我这样的客户端驱动程序不熟悉,应该是一个简单的?或者只是回答“如何建造我?”从上面用一段代码。我下面答案中的代码有效,但开销很大,因为我每次都序列化完整的消息对象只是为了更新“内容”字典。
标签: c# mongodb mongodb-.net-driver