You can use the BsonSerializer.Deserialize method from the official MongoDB C# driver to convert a BsonDocument into a strongly typed object. Here's an example:
using MongoDB.Bson; using MongoDB.Bson.Serialization; using MongoDB.Bson.Serialization.Attributes; [BsonIgnoreExtraElements] public class MyDocument { [BsonId] public ObjectId Id { get; set; } public string Name { get; set; } public int Age { get; set; } } // Create a new instance of the BsonDocument var bsonDocument = new BsonDocument { { "_id", ObjectId.GenerateNewId() }, { "Name", "John Doe" }, { "Age", 30 } }; // Deserialize the BsonDocument into a MyDocument object var myDocument = BsonSerializer.Deserialize<MyDocument>(bsonDocument); // Access the properties of the MyDocument object Console.WriteLine("Name: {0}, Age: {1}", myDocument.Name, myDocument.Age); In this example, we first define a MyDocument class with properties that match the fields in the BsonDocument. We then create a new BsonDocument with some sample data. Finally, we use the BsonSerializer.Deserialize method to convert the BsonDocument into a MyDocument object.
Note that we are using the [BsonId] and [BsonIgnoreExtraElements] attributes to specify that the Id property should be mapped to the _id field in the BsonDocument and that any extra fields in the BsonDocument should be ignored.
With this example, you can easily convert a BsonDocument into a strongly typed object using the official MongoDB C# driver.
Convert BsonDocument to a strongly typed object using BsonSerializer.Deserialize
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = BsonSerializer.Deserialize<YourClass>(bsonDocument);
Description: This code snippet uses the BsonSerializer.Deserialize method from the MongoDB C# driver to convert a BsonDocument to a strongly typed object of type YourClass.
C# MongoDB BsonDocument to strongly typed object with custom serializer settings
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = BsonSerializer.Deserialize<YourClass>(bsonDocument, new BsonSerializationOptions { ... }); Description: This code demonstrates converting a BsonDocument to a strongly typed object with custom serializer settings using BsonSerializer.Deserialize.
Convert BsonDocument to strongly typed object with BsonDocument.As
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = bsonDocument.As<YourClass>();
Description: Using the As extension method, this code converts a BsonDocument to a strongly typed object of type YourClass.
C# MongoDB BsonDocument to strongly typed object with BsonSerializer.Deserialize and BsonDocumentReader
BsonDocument bsonDocument = /* your BsonDocument */; using (var reader = new BsonDocumentReader(bsonDocument)) { YourClass result = BsonSerializer.Deserialize<YourClass>(reader); } Description: This code snippet uses BsonSerializer.Deserialize with a BsonDocumentReader to convert a BsonDocument to a strongly typed object.
Convert BsonDocument to strongly typed object with JsonSerializer from MongoDB.Bson
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<YourClass>(bsonDocument.ToJson());
Description: This code uses the JsonSerializer from MongoDB.Bson.Serialization.BsonSerializer to convert a BsonDocument to a strongly typed object.
C# MongoDB BsonDocument to strongly typed object with custom class mapping
BsonDocument bsonDocument = /* your BsonDocument */; BsonClassMap.RegisterClassMap<YourClass>(cm => { /* custom mappings */ }); YourClass result = BsonSerializer.Deserialize<YourClass>(bsonDocument); Description: This code registers custom class mappings using BsonClassMap.RegisterClassMap before converting a BsonDocument to a strongly typed object.
Convert BsonDocument to strongly typed object with BsonDocument.ToObject method
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = bsonDocument.ToObject<YourClass>();
Description: Utilizing the ToObject method, this code converts a BsonDocument to a strongly typed object of type YourClass.
C# MongoDB BsonDocument to strongly typed object with a custom constructor
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = new YourClass(bsonDocument);
Description: This code creates a custom constructor in the YourClass to directly initialize the object from a BsonDocument.
Convert BsonDocument to strongly typed object using BsonDocument.ToJson and JsonConvert
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = JsonConvert.DeserializeObject<YourClass>(bsonDocument.ToJson());
Description: This code converts a BsonDocument to a strongly typed object using JsonConvert from the Newtonsoft.Json library.
C# MongoDB BsonDocument to strongly typed object with a custom deserialization method
BsonDocument bsonDocument = /* your BsonDocument */; YourClass result = YourClass.DeserializeFromBsonDocument(bsonDocument);
Description: This code defines a custom deserialization method (DeserializeFromBsonDocument) within the YourClass to convert a BsonDocument to a strongly typed object.
automatic-ref-counting browser-detection ca android-viewpager database-table collectors jpanel dbcontext jhipster edge-detection