Conheço duas abordagens:
-
Update.PushWrapped<MyObject>("arrayfield", myObjectInstance);// driver c#>=1.0
-
Ou converta sua classe paraBsonValuevocê mesmo viaToBsonDocument()método de extensão.
Update.Push("arrayfield", myObjectInstance.ToBsonDocument());