>source

"GrandSubcategory"목록 만 알고 싶습니다. 나는 등의 저장소에서 쿼리를 사용하려고 노력했다

@Query("{'subCategory.grandSubCategory.grandSubCategoryName':{$regex: '^?0'}}")
    Category findByName(String name);

그러나 작동하지 않습니다. 그것은 전체 컬렉션을 보여줍니다. 그리고 나는 mongotemplete 쿼리를 사용하려고 노력했지만 비어 있음을 보여줍니다. 여기 내 컬렉션이 있습니다.

{
    "id": "3",
    "name": "Electronics",
    "ancestors": [
        "1"
    ],
    "parent": "null",
    "subCategory": [
        {
            "id": "2",
            "name": "TV",
            "parent": "1",
            "grandSubCategory": [
                {
                    "id": "7",
                    "name": "LED TV",
                    "parent": "2",
                    "spec": [
                        {
                            "size": "30X30",
                            "material": "plastic",
                            "unit": "CM^x2"
                        }
                    ]}]}]}

나는이 부분 만 필요로한다.

"grandSubCategory": [
                {
                    "id": "7",
                    "name": "LED TV",
                    "parent": "2",
                    "spec": [
                        {
                            "size": "30X30",
                            "material": "plastic",
                            "unit": "CM^x2"
                        }
                    ]

  • 답변 # 1

    1. @Document 주석을 사용하여 Mongo 엔티티를 생성합니다

    @Document(collection= "category")
    

    2. 몽고 문서 구조에 따른이 엔티티

    private String id;
    private String name;
    private List<Ancestor> ancestorList;
    private String parent;
    private List<SubCategory> subCategoryList;
    

    3. 맵 리포지토리 인터페이스를 사용하여 FindByName () 메소드로 mongorepository를 확장합니다.

    public interface CategoryRepository extends MongoRepository<Category, String>

    4. 그리고 이것을 시도하십시오

    Category category= categoryRepository.findByName(name);
    GrandSubCategory grandSubCategory= category.getSubCategoryList().get(index).getGrandSubCategory();
    

    여기에 무엇을 가져 가야 할 것 (색인)을 여기에 무엇이 있습니까?

    CODINNN2021-07-22 00:34:43
  • 답변 # 2

    1. @Document 주석을 사용하여 Mongo 엔티티를 생성합니다

    @Document(collection= "category")
    

    2. 몽고 문서 구조에 따른이 엔티티

    private String id;
    private String name;
    private List<Ancestor> ancestorList;
    private String parent;
    private List<SubCategory> subCategoryList;
    

    3. 맵 리포지토리 인터페이스를 사용하여 FindByName () 메소드로 mongorepository를 확장합니다.

    public interface CategoryRepository extends MongoRepository<Category, String>

    4. 그리고 이것을 시도하십시오

    Category category= categoryRepository.findByName(name);
    GrandSubCategory grandSubCategory= category.getSubCategoryList().get(index).getGrandSubCategory();
    

    여기에 무엇을 가져 가야 할 것 (색인)을 여기에 무엇이 있습니까?

    CODINNN2021-07-22 00:34:43
  • 이전 reactjs : 전면에서 폰트 멋진 브랜드 아이콘을 포함하여 전면의 메타 데이터
  • 다음 파이썬의 바이너리 문자열에서 매개 변수 대체