Я создал скрипт в SSIS для извлечения данных из MongoDB.Хотя у меня нет проблем с запросом обычных документов, я не уверен, как извлечь значения из вложенных документов.Например, развернутый «Адрес» содержит «Страна», «Штат», «Город», «Улица» и «Почтовый индекс».Я заинтересован в получении только значений "Страна" (поле).Теоретически я понимаю, что это должно быть что-то вроде «Address.Country», но я не знаю, как реализовать это в моем коде.Каков наилучший способ достичь этого?
Этот код извлекает все остальные документы:
public override void CreateNewOutputRows()
{
string connectionString = "mongodb://localhost";
MongoServer myMongo = MongoServer.Create(connectionString);
myMongo.Connect();
var db = myMongo.GetDatabase("UserDB");
/*ICursor<BsonDocument> cursor = db.GetCollection<BsonDocument>("UserDB").FindAll();*/
foreach (BsonDocument document in db.GetCollection<BsonDocument>("UserDB").FindAll())
{
this.UserDBBuffer.AddRow();
this.UserDBBuffer.ID = document["_id"] == null ? "" : document["_id"].ToString();
this.UserDBBuffer.PrimaryEmail = document["primary_email"] == null ? "" : document["primary_email"].ToString();
this.UserDBBuffer.Gender = document["gender"] == null ? "" : document["gender"].ToString();
}
}