我想獲得嵌套數組中每個值的結果數組。巢的深度是可怕的,它是objectRawOriginData.Reports.Rows.Rows.Cells。我不想將此用作論壇的示例,因此我創建了一個更簡單的名稱,其名稱的嵌套值爲columns.row.0.value,值爲columns.row。 1.value
我在下面創建了一個示例,可以幫助解釋我的問題。
我想要得到的是下面的名稱值對的數組:
頭1:值1 頭2:值2
{
"_id" : ObjectId("565baae61506995581569437"),
"objectType" : "Report",
"columns" : [
{
"rows" : [
{
"value" : "header 1"
},
{
"value" : "value 1"
}
]
},
{
"rows" : [
{
"value" : "header 2"
},
{
"value" : "value 2"
}
]
}
]
}
我給這個下面去,但是,它的不給我這雙價值觀。我不僅需要將0值設置爲「標題1」,還需要「值1」的位置1值。
db.testing.aggregate(
{ $match : { objectType: "Report"}},
{ $project: {_id: 0, columns: 1, rows:1}},
{ $unwind: "$columns" },
{ $unwind: "$columns.rows" },
{ $match: {"columns.rows.value": "header 1"}},
{ $group: {_id: null, columns: { $push: "$columns" }}},
{ $project: {_id: 0,columns: 1}}
//,{$out : "entity_datapoints"}
)
但只是給我:
{
"result" : [
{
"columns" : [
{
"rows" : {
"value" : "header 1"
}
}
]
}
],
"ok" : 1.0000000000000000
}
謝謝,馬特
我編輯了你的問題,所以你的代碼可以看起來更好。 –
謝謝阿里爾,馬特 –
沒問題我的朋友。只要確保閱讀http://stackoverflow.com/help/how-to-ask以避免負面聲譽 –