Ich normalisiere eine eine Ebene verschachtelte Liste von Losen. Wo die Chargen der ersten Ebene Master genannt werden, sind die verschachtelten Slaves.Wie bekomme ich einen Verweis auf die verschachtelten Entitäten in normalizr?
// my schema
const lot = new schema.Entity('lots');
const lots = new schema.Array(lot);
lot.define({slaves: lots});
// my data
const list = [
{
id: 1,
name: 'Lot #1',
slaves: [
{
id: 2,
name: 'Lot #2'
}
]
}, {
id: 4,
name: 'Lot #4',
slaves: []
}
];
normalize(list, lots);
Und ich bekomme diese:
{
entities : {
lots: {
'1': {
id: 1,
name: 'Lot #1',
slaves: [2]
},
'2': {
id: 2,
name: 'Lot #2'
},
'4': {
id: 4,
name: 'Lot #4',
slaves: []
}
}
},
result : [1, 4]
}
Es mit ihm etwas nicht in Ordnung ist. Aber ich möchte dem normalisierten Ergebnis noch etwas hinzufügen und weiß nicht wie.
- haben die Stammlosken auf den normalisierten Sklaven
- Eine Reihe von Sklaven ids auch auf das Ergebnis
So wird das vorherige Beispiel wie folgt normiert werden:
{
entities : {
lots: {
'1': {
id: 1,
name: 'Lot #1',
slaves: [2]
},
'2': {
id: 2,
name: 'Lot #2',
master: 1
},
'4': {
id: 4,
name: 'Lot #4',
slaves: []
}
}
},
result : {
masters: [1, 4],
slaves: [2],
}
}
Ist das mit normalizr möglich?
Danke für die schnelle Antwort! –