Ответ здесь действительно зависит от модели использования вашего приложения.Мое предположение (не стесняйтесь меня поправлять) заключается в том, что наиболее вероятный шаблон выглядит примерно так:
Поиск пользователя -> Найти пользователя -> Просмотреть профиль (получить изображение)
СВ этом обобщенном сценарии использования (для метода А вы находите документ пользователя для отображения профиля), который содержит идентификатор объекта изображения, и вы впоследствии извлекаете файл с использованием этого идентификатора (2 основные операции, и все готово).
Примечание: фактическое извлечение файла из GridFS Я рассматриваю как одну логическую операцию, на самом деле задействовано несколько операций, но большинство драйверов / API все равно затеняют это.
При использовании метода B вам нужно будет найти пользовательский документ, затем выполнить другой запрос, чтобы найти соответствующий user_id в коллекции метаданных файла, а затем перейти к извлечению файла.По моим подсчетам, это три операции (дополнительная находка, которую вы не имеете с методом A).
Имеет ли это смысл?
Конечно, если мое предположение неверно и ваше заявление(например) на основе изображения, тогда ваш шаблон запроса может дать другой ответ.