Underscore.js - Filtern in einem verschachtelten Json

Ich möchte alle Werte erhalten, wobei die category.id = 1, also sollte ich 2 Ergebnisse erhalten

Mein JSON sieht so aus:

var test = [
            {
                "id": 1,
                "name": "name1",
                "value": "value1",
                "category": {
                    "id": 1,
                    "name": "category1"
                }
            },
            {
                "id": 2,
                "name": "name2",
                "value": "value2",
                "category": {
                    "id": 1,
                    "name": "category1"
                }
            },
            {
                "id": 3,
                "name": "name3",
                "value": "value3",
                "category": {
                    "id": 2,
                    "name": "category2"
                }
            }
        ];

mein JavaScript sieht so aus:

var x = _.filter(test,
            function (innerObject) {
                return _.filter(innerObject,
                    function (category) {
                        return  category.id === 1;
                    });
            });

console.log(x);

Ich habe eine JS Fiddle gemacht aber ich bekomme jedes mal alle 3 elemente zurück ... nicht nur die 2 richtigen!

Ich habe auch sowas probiert

var x = _.where(test, {"category":{"id":2}});
console.log(x);

was mir logisch erscheint, aber das array ist immer leer

eine andere jsFiddle

Ich hoffe, jemand kann mir sagen, was ich falsch gemacht habe ...
Dankeschön!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage