我在SSIS中創建了一個腳本來從MongoDB中檢索數據。雖然我沒有任何問題查詢常規文檔,但我不確定如何從嵌套文檔檢索值。例如,展開的「地址」包含「國家」,「州」,「城市」,「街道」和「郵編」。我只想檢索「國家」(字段)值。理論上,我知道它應該像「Address.Country」,但我不知道如何在代碼中實現它。什麼是實現這一目標的最佳方式?從MongoDB查詢嵌套對象
這是檢索所有其他文件的代碼:
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();
}
}
謝謝!這正是我需要的! – Pasha 2012-01-04 04:37:48
現在,下一個挑戰是如何從數組中提取數據。例如,其中一個陣列如下所示:「devices - > Document - > device_data - > model」或「devices - > Document - > device_data - > brand」。我如何提取設備的型號或品牌? 再次感謝您的幫助! – Pasha 2012-01-04 04:40:36
我將「地址」更改爲「位置」(另一個字段包含國家/地區),我的腳本返回「國家/地區未找到」,我找不到原因...... – Pasha 2012-01-04 05:34:29