programing

MongoDB 명명 규칙은 무엇입니까?

yellowcard 2023. 3. 11. 08:47
반응형

MongoDB 명명 규칙은 무엇입니까?

데이터베이스, 컬렉션, 필드 이름 등 MongoDB 권한에 대해 선호하는 명명 규칙 세트가 있습니까?

나는 다음과 같이 생각하고 있었다.

  • 데이터베이스: 목적(단수 단어)으로 구성되며 끝은 "db"로 끝납니다.모두 소문자: imagedb, resumedb, memberdb 등입니다.
  • 컬렉션: 여러 개의 소문자: 이미지, 이력서,
  • 문서 필드: lowerCamelCase(memberFirstName, fileName 등)
  1. Keep'em short: 소형 객체 스토리지 최적화, SERVER-863.바보같지만 사실이야.

  2. 관계 데이터베이스에 적용되는 규칙과 거의 같은 것이 여기에 적용되어야 한다고 생각합니다.RDBMS 테이블이 단수인지 복수인지에 대해서는 수십 년이 지나도록 합의가 이루어지지 않고 있다.

  3. MongoDB는 JavaScript를 사용하므로 camelCase의 JS 명명 규칙을 활용하십시오.

  4. 사용할 수는 MongoDB로 되어 있습니다._id, 이것은 ( 하다, 하다, 하다, 하다, 하다)라는 것을 것일 수도 ._id는 프라이빗, 내부, 표시 또는 편집하지 않는 것을 목적으로 하고 있습니다.

데이터베이스

  • 카멜 케이스
  • 이름 끝에 DB 추가
  • 단수화하다(수집은 복수이다)

MongoDB는 좋은 예를 제시합니다.

사용할 데이터베이스를 선택하려면 mongo 쉘에서 다음 예시와 같이 use <db> 스테이트먼트를 발행합니다.

myDB 사용
myNewDB 사용

콘텐츠 : https://docs.mongodb.com/manual/core/databases-and-collections/ #http://https://docs.mongodb.com/manual/core/databases-and-collections/

컬렉션

  • 소문자 이름: 대소문자를 구분하는 문제가 없습니다.MongoDB 컬렉션명은 대소문자를 구분합니다.

  • 복수: 예를 들어 "파일"이 아닌 "파일"로 라벨 붙이는 것이 더 명확합니다.

  • 단어 구분 기호 없음:다른 사람(잘못된)이 단어(사용자명<->user_name, first_name<->)를 구분하는 문제를 회피합니다.
    이름)을 클릭합니다.몇 있다.
    는 안 된다고 이 자신을 시키고 있는 것이 되면, 그것은 중요합니다.
    또는 밑줄을 추가하여 컬렉션 읽을 수 합니다.
    camelcase를 사용해야 합니다.
    회수
    ★★★★★★ 。

  • 상위 상세 컬렉션에 대한 도트 표기법: 컬렉션의 관련성을 나타냅니다.예를 들어, 스키마를 설계한 사람이 적절하게 작업을 수행한 경우 "users.pagevisits"를 삭제할 수 있습니다.

내용 : https://web.archive.org/web/20190313012313/http : //www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html

컬렉션의 경우 MongoDB 공식 문서를 찾을 때까지 다음 권장 패턴을 따릅니다.

이에 대해 규칙이 지정되지 않더라도 수동 참조는 일대일 관계에 대해 Mongo 문서에서 참조된 컬렉션의 이름을 따라 일관되게 지정됩니다.이름은 항상 구조 뒤에 있습니다.<document>_id.

를 들어, 「」에서는,dogs문서에는 다음과 같은 이름의 외부 문서에 대한 수동 참조가 있습니다.

{
  name: 'fido',
  owner_id: '5358e4249611f4a65e3068ab',
  race_id: '5358ee549611f4a65e3068ac',
  colour: 'yellow'
  ...
}

규칙을 ._id이치노

컬렉션 명명 규칙

컬렉션에 이름을 붙이려면 다음 주의사항을 따르십시오.

  1. 빈 문자열("")이 있는 컬렉션은 올바른 컬렉션 이름이 아닙니다.
  2. 컬렉션 이름은 컬렉션 이름의 끝을 정의하므로 null 문자를 포함할 수 없습니다.
  3. 컬렉션 이름은 내부 컬렉션용으로 예약되어 있으므로 접두사 "system"으로 시작할 수 없습니다.
  4. 데이터베이스에서 사용할 수 있는 다양한 드라이버는 컬렉션 이름에서 "$"를 지원하지 않으므로 컬렉션 이름에 "$" 문자를 포함하지 않는 것이 좋습니다.

데이터베이스 이름을 작성할 때 주의해야 할 사항은 다음과 같습니다.

  1. 빈 문자열("")이 있는 데이터베이스는 올바른 데이터베이스 이름이 아닙니다.
  2. 데이터베이스 이름은 64바이트를 초과할 수 없습니다.
  3. 데이터베이스 이름은 대소문자를 구분하지 않는 파일 시스템에서도 대소문자를 구분합니다.따라서 이름은 소문자로 유지하는 것이 좋습니다.
  4. 데이터베이스 이름에는 "/, , ., ", *, <, >, :, |, ?, $" 문자를 포함할 수 없습니다. 공백이나 늘 문자도 포함할 수 없습니다.

자세한 정보는.다음 링크를 확인해 주세요.http://www.tutorial-points.com/2016/03/schema-design-and-naming-conventions-in.html

다 개인적인 취향인 것 같아요.저는 NHIbernate를 사용하는 것을 선호합니다.NET, SQL Server를 사용하기 때문에 다른 사용자가 사용하는 것과 다를 수 있습니다.

  • 데이터베이스:사용 중인 응용 프로그램..예: Stackoverflow
  • 컬렉션:단수, 어떤 컬렉션이 될 것인가(예: 질문)
  • 문서 필드(예: Member First Name)

솔직히, 프로젝트와 일관성이 있으면 별로 중요하지 않아요.세세한 부분까지 신경 쓰지 말고 일을 시작하세요.p

SERVER-863을 입수할 때까지 필드 이름을 가능한 짧게 유지하는 것이 좋습니다.특히 레코드가 많은 경우에는 더욱 그렇습니다.

사용 사례에 따라 필드 이름이 스토리지에 큰 영향을 미칠 수 있습니다.모든 사용자에게 긍정적인 영향을 미치기 때문에 이것이 왜 MongoDb의 우선순위가 높지 않은지 이해할 수 없습니다.대역폭과 스토리지 비용에 대해 두 번 생각하지 않고 필드 이름에 대해 좀 더 알기 쉽게 설명할 수 있습니다.

투표해 주세요.

언급URL : https://stackoverflow.com/questions/5916080/what-are-naming-conventions-for-mongodb

반응형