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