0

我是 MongoDB 新手,想有效地序列化我的对象。这意味着在更新对象时,我只想编写更改的字段。如果我的对象在列表中有子对象,我只想添加或删除更改的子对象。那是因为如果我有一个包含 1000 条评论的帖子,我想避免在每次有新帖子出现时序列化整个对象。

我发现的只是约定 ignoreifempty、ignoreisdefault 和 shouldserializexyz 模式。

是否可以编写像 ignoreifnotchanged 之类的约定(我跟踪对象中的脏字段)或者是否有更通用的 shouldserializexyz 因为我不想为每个属性编写方法。

4

1 回答 1

0

您要查看的是带有 update 参数的 Update 方法,该参数指定要更新的字段。

您可以使用更新构建器来构建更新参数值。调查:

Update.Set(name, value)
Update.Push(name, value)

(还有更多)。

您可以将 Update 方法链接在一起以一次更新多个字段。

目前没有内置的更改跟踪,因此您必须自己跟踪哪些字段已更改,并根据您对更改内容的了解构建更新参数。

还有一个与此相关的未决 JIRA 功能请求。看:

https://jira.mongodb.org/browse/CSHARP-237

如果您愿意,请对 JIRA 发表评论或投票。

于 2013-01-30T15:12:31.367 回答