Przede wszystkim zrozum, że JSON to tylko technika serializacji. Sama w sobie ta metoda serializacji prawdopodobnie nie powinna określać nośnika trwałości. Patrząc na twoje pytanie na powierzchni, wydaje się, że to, czego szukasz, to typowa relacyjna baza danych, w której możesz użyć SQL do zapytań o swoje dane w elastyczny sposób.
Serializacja/deserializacja danych JSON do przechowywania w lub do prezentacji po pobraniu z takiej relacyjnej bazy danych jest trywialna w prawie każdym języku programowania.
Teraz, jeśli naprawdę potrzebujesz przechowywać różne fragmenty dokumentów JSON (lub innego rodzaju dokumentów), które tak naprawdę nie mają ustalonej struktury, to właśnie wtedy zwykle zaczynasz szukać rozwiązania typu NoSQL, takiego jak MongoDB. Innym możliwym takim scenariuszem korzystania z bardziej popularnych baz danych NoSQL jest sytuacja, w której masz do czynienia z ogromnymi ilościami danych i potrzebujesz skalować w poziomie (tj. dane są tak duże, że musisz skalować bazę danych na wielu serwerach). Wiele systemów NoSQL czyni to znacznie łatwiejszym niż tradycyjne relacyjne bazy danych. Oczywiście w takim scenariuszu będziesz musiał ocenić te narzędzia w oparciu o funkcjonalność, którą zapewniają, umożliwiając odczytywanie, zapisywanie i zapytania o dane w najbardziej użyteczny sposób dla danego przypadku (przypadków użycia).