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