如何在新序列化的BsonDocument中包含ObjectId?

时间:2012-11-03 03:37:55

标签: c# mongodb

给出一小段json:

var _json = {MachineType: 'Sentient', Processor: 'Xalim', _id: '5094886393178c2970710e0c'}

如何调用

var doc = BsonSerializer.Deserialize<BsonDocument>(_json);

以这种方式生成的文档附加了 id ?到目前为止,我已经尝试了上述内容,每个新文档都会以新的ID保存,并附加一个“_id”属性。

我在mongo shell中知道这个结构,但是如何在c#中构造BsonDocument时这样做?

_id: ObjectId('5094886393178c2970710e0c')

谢谢!

1 个答案:

答案 0 :(得分:0)

糟糕!这是我的错。 我原来发布的json,在序列化到BsonDocument时, DOES 使用匹配的_id 正确更新数据库。这就是我实际想要保存的内容:

{ System: { _id: '5094886393178c2970710e0c', MachineType: 'Sentient', Processor: 'Xalim' }}

这当然不会保存回原始_id,因为它不是对象(在本例中为system)的属性。一旦我将_id移回父级,数据库中的所有内容都会按照我的预期更新。