Производные запросы не работают с DBRef

2

Я использую Mongo с данными Spring.

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

public List<Entity1> findByEntity2Property1(String property1)

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

  • 0
    Привет, не могли бы вы найти решение для этого? Благодарю.
Теги:
spring
spring-data

1 ответ

0

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

  • 0
    Спасибо! это единственный (и рекомендуемый) выход здесь? Или есть (возможно, лучше) альтернативы?
  • 0
    Кроме того, then query for Entity1 instances matching the DBRefed property against the results of the first query - как это сделать?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню