Zdecydowałem przenieść moją bazę danych z MySQL do Mongo, ponieważ większość czasu moje dane nie są ustrukturyzowane. Pozwoliło mi to na zastosowanie zbyt skomplikowanych metod w tradycyjnym SQL.Jak zapytać o relacje w NoSQL?
Jest jeden problem, przed którym obecnie stoję i jak podejść do tradycyjnego modelu relacyjnego SQL w NoSQL. Czytałem wiele razy, że NoSQL nie jest przeznaczony do radzenia sobie z relacjami. Czy muszę dodać je jako tablicę do dokumentu z relacją?
Oto jedna z sytuacji, która utknęła. W SQL miałem osobną tabelę dla tokenów dostępu oauth, które ma id_użytkownika, id_klienta, access_token, wygasa jako jego atrybuty. Była to relacja 1-N między użytkownikiem a tokenem dostępu. Jak mam to zrobić w NoSQL? Dodając pole tablicy oauth_tokens? Jeśli to zrobię, jak wyszukać token w tablicy? Jak mogę kwerendy
search for a document where the _id is $user_id and there is an element
with $token in the access_tokens array?
Możesz użyć koncepcji map-reduce w mongodb, aby utworzyć relację z dwoma różnymi kolekcjami. –
@KumarKailash Prawdopodobnie nie można. MongoDB działa w kolekcji ** one ** na raz i "celowo" robi to z jakiegoś powodu. To pytanie musi zawierać konkretny punkt i przykładowy problem do rozwiązania lub zasadniczo jest "zbyt szerokie". Jeśli więc autor chce prawdziwej odpowiedzi, sugeruje się opisanie tego problemu zamiast proszenia o generalizacje. –
Zanim zadałem to pytanie, miałem prawie zerową znajomość "relacji" w mongo; po wyszukiwaniu i testowaniu mam trochę wiedzy. Przepraszam za to. Dostałem na razie to, czego potrzebowałem, ale jestem prawie pewien, że w najbliższej przyszłości będę zadawał podobne pytanie i będę wtedy bardzo konkretny. – Gasim