Не совсем уверен, что такое лучшая практика, если у меня есть две коллекции, коллекция пользователей и коллекция изображений. Я не хочу вставлять все мои фотографии в свою коллекцию пользователей.Схема на mongodb для сокращения вызовов API с двумя коллекциями
Мой клиент ищет фотографии по определенным критериям. Предположим, он получил 50 фотографий из поиска (т. Е. Один запрос mongodb). Каждое изображение связано с одним пользователем. Я также хочу, чтобы имя пользователя отображалось. Я предполагаю, что нет никакого способа сделать один результат поиска мудрую в коллекции пользователей, возвращая имена каждого пользователя для каждого изображения, то есть мне нужно будет выполнить 50 поисков. Это означает, что я мог бы избежать этой дополнительной загрузки производительности путем дублирования данных (рядом с user_id, а также имя пользователя) в моей коллекции изображений?
Тот же вопрос, наоборот. Если мой клиент ищет пользователей и говорит, что 50 пользователей возвращаются из поиска по одному запросу. Если я хочу, чтобы последнее связанное изображение + заголовок также отображалось рядом с пользовательскими данными, я снова должен добавить это в коллекцию пользователей, иначе я предполагаю, что мне нужно сделать 50 запросов, чтобы вернуть данные изображения?
Это правильно, у вас есть два варианта без изменения структуры ваших коллекций. 1. Храните ссылку на пользователей в вашей коллекции изображений, которая возвращает ассоциированные пользователи с изображением или дублирует данные. Документация для этого находится здесь https://docs.mongodb.org/manual/reference/database-references/. – user2263572