我有以下JSON对象,它是loopback
模型(分类)的结果,与另一个模型(标签)有关系。
我打电话来获取分类是:
modClassification.findOne({
where: { id: classificationid },
include: 'labels' },
function( err, classification ){ ...
这会返回类似
的分类{ id: 'b01',
title: 'population',
country_id: 1,
labels:
[ { column_id: 'b1',
classification_id: 'b01',
classification_title: 'population',
dsporder: 1,
label: 'Total_Persons_Males',
country_id: 1,
id: 1 },
{ column_id: 'b2',
classification_id: 'b01',
classification_title: 'population',
dsporder: 2,
label: 'Total_Persons_Females',
country_id: 1,
id: 2 } ] }
这就是我所期望的。
我现在需要遍历标签并访问它的属性,但这就是我被困住的地方。
classification.labels[0] = undefined..
我尝试过循环,每个以及我在网上找到的任何东西,但似乎无法找到每个标签属性。
有人可以告诉我我做错了什么/需要做什么吗?
由于
答案 0 :(得分:1)
当您在findOne
调用中包含相关模型时,您需要在访问相关记录之前对结果进行JSONify:
classification = classification.toJSON()
然后您应该能够按预期访问所包含的标签项目。
请参阅https://docs.strongloop.com/display/public/LB/Include+filter,特别是"访问包含的对象"部分。
注意,当您在数组中检索多个结果时,这不起作用。在这种情况下,您需要对数组中的每个项目执行toJSON()
。