Я довольно новичок в MongoDB и движении NoSQL, так голый со мной. До сих пор я сталкивался тремя различными способами из «присоединения» коллекции:MongoDB - DBRefs vs Map/Reduce vs Ссылки на Руководство пользователя
- вручную держать «внешний ключ-ESK» ссылка на коллекцию вы хотите присоединиться к вашей целевой коллекции
- Использование DBRefs
- Написать ряд Map/Reduce функций для поддержания отношений
Может кто-то объяснить преимущества и когда я должен каждый из них?
Мое первое впечатление о том, что Map/Reduce используется для больших, часто используемых наборов, а два других предназначены в основном для небольших/быстрых запросов.
Я бы сказал, что вы никогда не должны поддерживать соединение через MR, а DBRef - это еще одна версия первого, нет никакой разницы, кроме того, что DBRef также содержит имя коллекции – Sammaye
Интересно. Вы знаете способ оптимизации ссылок, поэтому вам не нужно будет делать дополнительный запрос от клиента для извлечения ссылочной записи? Есть ли способ сделать это на сервере до возвращения набора данных? – Adam
Нет, mongodb не имеет разрешения на серверную ссылку – Sammaye