कुछ तरीके हैं, लेकिन यहां एक है:
// 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);
}
आप अक्सर स्ट्रिंग इंडेक्सर का उपयोग कर सकते हैं ["name-of-property"]
खेतों और उप दस्तावेज़ क्षेत्रों के माध्यम से चलने के लिए। फिर, AsXYZ
. का उपयोग करके ऊपर दिखाए गए अनुसार फ़ील्ड मान को किसी विशेष प्रकार में डालने के लिए गुण।