También hay una sobrecarga que le permite proporcionar un valor predeterminado:
BsonDocument document;
var firstName = (string) document["FirstName", null];
// or
var firstName = (string) document["FirstName", "N/A"];
lo cual es un poco más conveniente que usar Contiene cuando todo lo que desea hacer es reemplazar un valor faltante con un valor predeterminado.
Editar: desde la 2.0.1
versión, ha quedado en desuso a favor de GetValue
:
var firstName = document.GetValue("FirstName", new BsonString(string.Empty)).AsString;