3
我正在運行將結果數據轉儲到集合中的map reduce作業,「products」集合中的元素如下所示(該結構由Mongo生成,而我不知道如果能夠控制):MongoDB - 在C#中映射map-reduce集合
{
"_id" : { "ProductId" : "1:000001", "ProductTitle" : "Some product with ID 1:000001" },
"value" : { "TotalImpressions" : 3, "TotalClicks" : 40 }
}
理想情況下,我想每個條目下面扁平對象映射:
public class Product
{
public string ProductId { get; set; }
public string ProductTitle { get; set; }
public int TotalImpressions { get; set; }
}
這顯然是行不通的串行尋找屬性「 id「和」value「,它們不存在於該類中。解決方法我在的地方是對象模型,因爲它們出現,例如:
public class ProductRow
{
/* implementation of these objects excluded, but they just reflect the json objects */
public ProductIdentifier Id { get; set; }
public Product value { get; set; }
}
哪款地圖正常,但是這是一個有點冗長,我寧願避免所有這些額外的對象。
是否可以配置BSON解串器來支持這種映射?我瀏覽了文檔,但沒有看到任何明顯的解決方案。
注意:我被.NET 3.5的工作環境所限制,因此請在考慮答案時考慮到這一點。
你就不能映射非類型化成果到產品實例自己,後查詢?你爲什麼要BSON解串器爲你做這個?這不是嚴格的工作...... – Avish
是的,我可以手動做,這是一個有效的點 - 謝謝。但我不同意這不是解串器的功能,它恰好是它的一個問題,儘管我接受的一個問題不大可能實現,因爲事實可能是一個邊緣案例,因此也是一個問題。 – gooid