Dbref, на мой взгляд, следует избегать при работе с mongodb, по крайней мере, если вы работаете с большими системами, которые требуют масштабируемости.
Как я знаю, все драйверы делают дополнительный запрос на загрузку DBRef, поэтому это не '1003 * join ' в базе данных, это очень дорого.
Есть ли способ ссылаться на другие документы, не имея избыточного поля $ ref?
Да, помнить о ссылках, создавать соглашения об именах для ' внешние ключи '(что-то вроде RefUserId или просто UserId) и сохраняют только id ссылочного документа.Загружайте ссылочные документы самостоятельно, когда это необходимо.Также держите глаза открытыми на любую денормализацию, вложение, которое вы можете сделать, потому что это обычно значительно улучшает производительность.