У меня есть эта структура в моем mongoDB ->
db.Article.save({"_id":ObjectId("90e"),"idPromotion":1,"numArticulos":"3","anyArticle":[{"name":"chair","color":"rojo","price":"10€"},{"name":"table","color":"azul","price":"2€"}],"recibe":"monday"}
db.Article.save({"_id":ObjectId("91e"),"idPromotion":2,"numArticulos":"1","anyArticle":[{"name":"pencil","color":"black","price":"1€"}],"recibe":"monday"}
db.Article.save({"_id":ObjectId("92e"),"idPromotion":3,"numArticulos":"1","anyArticle":[{"name":"car","color":"white","price":"1000€"}],"recibe":"monday"}
Действительно для этого примера мне нужно только 1. Особое внимание с моим массивом "anyArticle": пожалуйста.
Я использую SpringBoot --->
Модель:
@Document
public class Article{
private Integer idPromotion;
private AnyArticle anyArticle[];
public Article(){}
public Article(Integer idPromotion,AnyArticle anyArticle[]){
this.idPromotion=idPromotion;
this.anyArticle=anyArticle;
}
getters.setter...
}
public class AnyArticle {
private String name;
private String color;
private String price;
constructor, getter, setters...
}
Я реализую этот интерфейс в моем сервисеImpl
@Repository
public interface ArticleRepository extends CrudRepository<Article, String> {
}
Наконец-то мой сервисImpl ->
@Autowired
private ArticleRepository repo;
...
List<Article> list = (List<Article>) repo.findAll();
Я знаю
public interface ArticleRepository extends CrudRepository<Article, String> {
public List<Article> findByIdPromotion(Integer idPromotion);
I get the register with IdPromotion "x"
or
public List<Article> findByRecibe(String Recibe);
}
Моя проблема в том, что когда я пытаюсь получить
public List<Article> findByAnyArticle.name (String name);`
, я получаю ошибку в своем Eclipse рядом с "."Я не могу использовать @Query, потому что это mongoDB, тогда как мне отфильтровать имя или что-то в моем классе AnyArticle ??спасибо
Редактировать , например, я пишу
public List<Article> findByAnyArticle.name (String name)
имя это стул, тогда я хочу этот объект ->
{"_id":ObjectId("90e"),"idPromotion":1,"numArticulos":"3","anyArticle":[{"name":"chair","color":"rojo","price":"10€"},{"name":"table","color":"azul","price":"2€"}],"recibe":"monday"}
Я хочу, чтобы все объекты, потому что в любой статье есть имя с "стул".