_idを除くすべてのフィールドを更新する必要があります。16個のフィールドを手動で更新することは避けたい...すべての新しいフィールドはBsonDocument内に保存されます
アイデアをありがとう
_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 を持つ場合、データベースはそれを新しいドキュメントとしてではなく、そのドキュメントの新しいバージョンとして扱います。