после того, как вы хорошо спали ночью и попробовали то, что руководство может предложить по этому наиболее простому решению, которое я придумал, это
{k:.id,m:[.j[] | select(.f==4)|.d][0]}
https://jqplay.org/s/Ao8_GuHWI4
Я не читал всего руководства, но, думаю, в какой-то момент оно скажет, что оно падает на множественность частичных результатов или что-то, что даст более одного результата, если при выборе будет найдено больше элементов !
в данном решении это не преобладает, возвращая только 1 результат, даже если выборка будет соответствовать большему количеству элементов
, однако вы можете обойти это, фактически сделав это правильно с альтернативным оператором; )
{k:.id,m:([.j[] | select(.f==4)|.d][]//null)}
https://jqplay.org/s/uBG5c969pf