mongodb c# how to work with BSON document mongodb c# how to work with BSON document mongodb mongodb

mongodb c# how to work with BSON document


There are a few ways, but here's one:

 // build some test data BsonArray dataFields = new BsonArray { new BsonDocument {      { "ID" , ObjectId.GenerateNewId()}, { "NAME", "ID"}, {"TYPE", "Text"} } }; BsonDocument nested = new BsonDocument {     { "name", "John Doe" },     { "fields", dataFields },     { "address", new BsonDocument {             { "street", "123 Main St." },             { "city", "Madison" },             { "state", "WI" },             { "zip", 53711}         }     } }; // grab the address from the document, // subdocs as a BsonDocument var address = nested["address"].AsBsonDocument; Console.WriteLine(address["city"].AsString);  // or, jump straight to the value ... Console.WriteLine(nested["address"]["city"].AsString); // loop through the fields array var allFields = nested["fields"].AsBsonArray ; foreach (var fields in allFields) {     // grab a few of the fields:     Console.WriteLine("Name: {0}, Type: {1}",          fields["NAME"].AsString, fields["TYPE"].AsString); }

You can often use the string indexer ["name-of-property"] to walk through the fields and sub document fields. Then, using the AsXYZ properties to cast the field value to a particular type as shown above.