Исходя из опыта работы с СУБД, у меня всегда возникало впечатление: «Старайтесь изо всех сил использовать один запрос, предполагая, что он эффективен», что означает, что он обходится дорого для каждого запроса в базу данных. Когда дело доходит до MongoDB, кажется, что это невозможно, потому что вы не можете объединять таблицы.
Я понимаю, что он не должен быть реляционным, но они также продвигают его для целей, таких как блоги, форумы и другие вещи, с которыми мне будет проще найти СУРБД.
Есть некоторые зависания, которые я пытался понять в целом эффективность MongoDB или NoSQL. Если бы я хотел получить все "сообщения", относящиеся к определенным пользователям (как если бы они были сгруппированы) ... используя MySQL, я бы, вероятно, сделал несколько объединений и получил бы это.
В MongoDB, при условии, что мне нужны отдельные коллекции, будет ли эффективно использовать большой $ in: ['user1', 'user2', 'user3', 'user4', ...]?
Этот метод замедляется через некоторое время? Если я включу 1000 пользователей?
И если бы мне нужно было получить этот список сообщений, связанных с пользователями X, Y, Z, было бы эффективно и / или быстро использовать MongoDB:
- Получить массив пользователей
- Получить сообщения в массиве пользователей
2 запроса на один запрос. Это плохая практика в NoSQL?