我必须更新除_id 之外的所有字段。我想避免手动更新 16 个字段...所有新字段都存储在 BsonDocument 中
感谢您的想法
正如@Philipp 暗示的那样,有一种方法可以做到这一点。您实际上可以使用该save
功能(http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Save%3CTDocument%3Emethod),它将按照他在数据库端为您说的做。
所以想象你有一个文件:
{
_id: {},
d: 1
}
并且_id
已经存在,它将用这个文件替换以前的文件。
整齐吧?
当我正确理解您时,您有一个包含新数据的文档 B,并且您希望它完全替换文档 A。
在这种情况下,您可以将文档 B 的 _id 字段显式设置为文档 A 的 _id 字段的值。当您保存文档 B 时,它将替换数据库中的文档 A。
当保存的文档具有现有文档的 id 时,数据库会将其视为该文档的新版本,而不是新文档。