2011-11-15 6 views
2

J'utilise Mongo avec Spring Data.Les requêtes dérivées ne fonctionnent pas avec DBRef

J'ai deux entités (@ première classe) (@Documents) Entity1 et Entity2, où Entity1 a une référence (@DBRef) de Entity2 à l'intérieur. Tout fonctionne très bien, mais lors de l'exécution des requêtes dérivées telles que:

public List<Entity1> findByEntity2Property1(String property1) 

La requête ci-dessus renvoie aucun résultat bien qu'il existe des documents avec les paramètres de requête donnés. Pourquoi donc?

+0

Salut, pourriez-vous trouver une solution pour cela? Merci. – shailesh

Répondre

0

Je ne pense pas que la requête puisse fonctionner comme prévu, car MongoDB n'autorise pratiquement pas la restriction des résultats sur les propriétés des documents associés pointés par DBRef. Vous devez donc interroger toutes les instances Entity2 correspondant à la valeur donnée sur la propriété Property1, puis interroger Entity1 instances correspondant à la propriété DBRef ed par rapport aux résultats de la première requête.

+0

merci! est-ce le seul (et le moyen recommandé) ici? Ou y a-t-il (éventuellement, mieux) des substituts? – Saket

+0

De même, 'recherchez ensuite les instances Entity1 correspondant à la propriété DBRefed par rapport aux résultats de la première requête' - comment procédez-vous? – Saket

+0

@Saket Avez-vous trouvé une solution? – s1moner3d

Questions connexes