5

我必须更新除_id 之外的所有字段。我想避免手动更新 16 个字段...所有新字段都存储在 BsonDocument 中

感谢您的想法

4

2 回答 2

4

正如@Philipp 暗示的那样,有一种方法可以做到这一点。您实际上可以使用该save功能(http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Save%3CTDocument%3Emethod),它将按照他在数据库端为您说的做。

所以想象你有一个文件:

{
    _id: {},
    d: 1
}

并且_id已经存在,它将用这个文件替换以前的文件。

整齐吧?

于 2013-01-15T13:50:42.797 回答
1

当我正确理解您时,您有一个包含新数据的文档 B,并且您希望它完全替换文档 A。

在这种情况下,您可以将文档 B 的 _id 字段显式设置为文档 A 的 _id 字段的值。当您保存文档 B 时,它将替换数据库中的文档 A。

当保存的文档具有现有文档的 id 时,数据库会将其视为该文档的新版本,而不是新文档。

于 2013-01-15T13:13:28.293 回答