I'm looking for the correct method name to find all Documents with a given Target's type:
public class Document {
    @Indexed(name = "targets")
    private List<Target> targets;
    public class Target {
        private String value;
        private String type;
    }
}
Unfortunately, all of the following method names aren't working:
List<Document> findByTargetType(...);
List<Document> findByTargetsTargetType(...);
List<Document> findByTargetsContainsTargetType(...);
List<Document> findByTargetsContainsTargetTargetType(...);
List<Document> findByTargetsContainingTargetType(...);
List<Document> findByTargetsContainingTargetTargetType(...);
So which is the correct method name to accomplish the desired feature?
You can try below query.
Using @Query annotation
@Query("{ 'targets.type' : ?0 }")
List<Document> findByTargetsType(String type);
Or
Using repository supported keywords
List<Document> findByTargetsType(String type);
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With