Я извлекаю записи из mongodb .find() и пытается вложить их в d3v4 .stratify(). К сожалению, я получаю ошибкуВложение JSON с d3v4 .stratify()
Error: ambiguous: Product Line 1
я предполагаю, что я непонимание API documentation.
Хотя проблема кажется близкой к this post, я не думаю, что это совсем то же самое. Однако в результате я пытаюсь добраться до чего-то like this.
Может кто-нибудь помочь мне понять, как правильно использовать .stratify()? Или предложить более простой способ сделать это?
Мой результирующий набор (mongodb_data
) невелик (может быть, ~ 2500 изделий).
Моего плоский mongodb_data
выглядит так,
[
{
"name": "Product Line 1",
"reference": "product 1.A identifier"
},
{
"name": "Product Line 1",
"reference": "product 1.B identifier"
},
{
"name": "Product Line 2",
"reference": "product 2.A identifier"
},
{
"name": "Product Line 2",
"reference": "product 2.B identifier"
}
];
Нужные иерархические/вложенные данные должны выглядеть так,
{
"name": "Master Product Catalog",
"children": [
{
"name": "Product Line 1",
"children": [
{ "name": "product 1.A identifier" },
{ "name": "product 1.B identifier" }
]
},
{ "name": "Product Line 2",
"children": [
{ "name": "product 2.A identifier" },
{ "name": "product 2.B identifier" }
]
}
]
}
Я использую пример из документации API следующим образом,
var stratdata = d3.stratify()
.id(function(d) { return d.name; })
.parentId(function(d) { return d.name; })
(mongodb_data);
Хммм, интересно. Он работает на стороне клиента внутри моих тегов