Производные запросы не работают с DBRef - PullRequest
2 голосов
/ 15 ноября 2011

Я использую Mongo с Spring Data.

У меня есть две (первоклассные) сущности (@Documents) Entity1 и Entity2, где Entity1 имеет ссылку (@DBRef) на Entity2 внутри.Все работает нормально, но при выполнении производных запросов, таких как:

public List<Entity1> findByEntity2Property1(String property1)

Приведенный выше запрос не возвращает результатов, хотя есть документы с заданными параметрами запроса.Почему это?

1 Ответ

0 голосов
/ 16 ноября 2011

Я не думаю, что запрос может работать, поскольку вы ожидаете, что он будет работать, поскольку MongoDB в значительной степени не позволяет ограничивать результаты для свойств связанных документов, на которые указывает DBRef.Таким образом, вам необходимо запросить все Entity2 экземпляры, соответствующие заданному значению, в свойстве Property1, а затем запросить Entity1 экземпляров, соответствующих DBRef ed свойству, по результатам первого запроса.

...