I\'m using MongoDB via the official C# driver with an ASP.NET MVC web site.
I have the following C# model:
public class Contact
{
public ObjectId Id
as @Louie Almeda suggests, i think the best approach is with the BsonTypeMapper.MapToDotNetValue. BsonTypeMapperOptions can be customized too.
Here's what i'm using to convert a list on BsonDocument to a json string using LINQ and newtonsoft serializer :
var jsonString = JsonConvert.SerializeObject(bsonDocuments.ConvertAll(d => BsonTypeMapper.MapToDotNetValue(d)), Formatting.Indented)