개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.11 08:14

Schema::createCollection에 대해 여쭙니다.

목록
  • 깃허브액션도사 14일 전 2025.03.11 08:14
  • 12
    1
제가 MongoDB에서 Schema::createCollection을 사용하여 컬렉션을 생성했을 때, 컬렉션 이름에 특정한 제약 조건을 적용할 수 있는 방법을 찾고 있습니다.

컬렉션 이름을 지정할 때, 특정한 패턴이나 규칙을 따라야 하는 경우가 있습니다. 예를 들어, 컬렉션 이름이 대문자로 시작해야 하거나, 특정한 문자를 포함해야 하는 경우가 있습니다.

Schema::createCollection을 사용하여 이러한 제약 조건을 적용할 수 있는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  14일 전



    MongoDB에서 Schema::createCollection을 사용하여 컬렉션을 생성할 때, 컬렉션 이름에 특정한 제약 조건을 적용하려면 MongoDB의 validate 함수를 사용할 수 있습니다.

    validate 함수는 컬렉션 이름을 검사하여 특정한 패턴이나 규칙을 따라야 하는지 확인합니다. 예를 들어, 컬렉션 이름이 대문자로 시작해야 하는 경우, 다음과 같이 validate 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    use MongoDBClient;
    
    
    
    $client = new Client();
    
    $db = $client->mydatabase;
    
    $collection = $db->mycollection;
    
    
    
    $collection->validate([
    
        'name' => [
    
            '$regex' => '^A', // 대문자로 시작해야 함
    
            '$options' => 'i' // 대소문자 구분 안 함
    
        ]
    
    ]);
    
    


    또한, 컬렉션 이름에 특정한 문자를 포함해야 하는 경우, 다음과 같이 validate 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    use MongoDBClient;
    
    
    
    $client = new Client();
    
    $db = $client->mydatabase;
    
    $collection = $db->mycollection;
    
    
    
    $collection->validate([
    
        'name' => [
    
            '$regex' => '.*_id.*', // _id 문자를 포함해야 함
    
            '$options' => 'i' // 대소문자 구분 안 함
    
        ]
    
    ]);
    
    


    이러한 방법으로, Schema::createCollection을 사용하여 컬렉션을 생성할 때, 컬렉션 이름에 특정한 제약 조건을 적용할 수 있습니다.

    2025-03-11 08:15

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,203건 / 221 페이지

검색

게시물 검색