Как получить список связанных идентификаторов один-ко-многим с нормализатором? - PullRequest
0 голосов
/ 21 мая 2019

с учетом набора данных, подобных этому:

data = [
    {
    "id": 1,
    "name": "item 1",
    "description": "first item",
    "category": "a"
    },
    {
    "id": 2,
    "name": "item 2",
    "description": "second item",
    "category": "b"
    },
    {
    "id": 3,
    "name": "item 3",
    "description": "third item",
    "category": "c"
    },
    {
    "id": 4,
    "name": "item 4",
    "description": "forth item",
    "category": "a"
    },
]

Я пытаюсь нормализовать что-то вроде этого:

items = {
    "1" :{
        "id": 1,
        "name": "item 1",
        "description": "first item",
        "category": "a"
    },
    "2": {
        "id": 2,
        "name": "item 2",
        "description": "second item",
        "category": "b"
    },
    "3" :{
        "id": 3,
        "name": "item 3",
        "description": "third item",
        "category": "c"
    },
    "4" : {
        "id": 4,
        "name": "item 4",
        "description": "forth item",
        "category": "a"
    },
},
categoryItems = {
    "a": [1,4],
    "b": [2]
    "c": [3]
}

Я пробовал такие вещи, как:

const category = new schema.Entity('categoryItems');
const items = new schema.Entity('items',{
  category:[category]
});

const itemSchema = [items];
const nData = normalize(data, itemSchema);

, а также несколько примеров, показывающих processStrategy и mergeStrategy

но я никуда не денусь ... все, что я когда-либо получаю, это тот же самый старый


"entities" : "items" = {
    "1" :{
        "id": 1,
        "name": "item 1",
        "description": "first item",
        "category": "a"
    },
    "2": {
        "id": 2,
        "name": "item 2",
        "description": "second item",
        "category": "b"
    },
    "3" :{
        "id": 3,
        "name": "item 3",
        "description": "third item",
        "category": "c"
    },
    "4" : {
        "id": 4,
        "name": "item 4",
        "description": "forth item",
        "category": "a"
    },
},

"results" :{blaa, blaa, blaa ....} //not literally :)

что мне не хватает? Я уверен, что это совершенно очевидно, и я просто не дрочу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...