Одна из возможностей состоит в том, чтобы рассматривать их не как отдельные модели. Составная модель может состоять в том, что каждый документ может быть элементом, принадлежащим одной или нескольким различным подмоделям, идентифицированным строковой константой, которая может быть многозначной.
Если вы хотите получить результаты только от одной из этих подмоделей, вы можете добавить к запросу фиксированную часть, которая идентифицирует набор документов, принадлежащих этой подмодели.
Единственное предостережение: вам нужен первичный ключ, который является уникальным (что не так уж и плохо, потому что вы можете использовать что-то вроде неявного ключа документа).