홈>
약 30 개의 필드가있는 사용자 스키마와 다른 3 개의 스키마가 있다고 가정합니다.
UserSchema.js
user_schema = new Schema({
user_id: { type: String},
.........//30 properties
});
ctrs_schema = new Schema({
.........10 properties
});
ids_schema = new Schema({
.........5 properties
});
comments_schema = new Schema({
.........10 properties
});
이제 사용자의 성별을 바꿀 경로를 작성 중입니다. 이제이를 수행하기 위해UserSchema.js를 사용할 수 있지만 모든 스키마를 내 경로에로드합니다. 두 개의 필드가있는 스키마가 하나만있는 새 파일을 만든 경우 모든 스키마가 경로의 메모리에로드되지 않습니다.
UserGenderSchema.js
gender_schema = new Schema({
user_id: { type: String},
gender: { type: String}
});
두 가지 방법의 장단점이 있다는 것을 알고 있습니다
전문가-
I have to edit only in single file if I would have to change something for any field.
단점-
All Schemas are Loading for all routes which are unnecesary. Memory Wastage.
스레드의 두 방법 사이에 메모리 사용량이 적습니까?
누구나 어떤 아키텍처가 더 좋을지 또는 프로젝트에서 구현할 이유와 그 이유를 알려주십시오.
감사합니다
- 답변 # 1
관련 자료
- 모든 페이지에 대해 앱을 만들어야합니까? (장고)
- node.js - 코드 단순화를위한 Schema Mongoose (Node JS) 모델 생성
- GCP는 매일 모델의 예측을 실행합니다
- Python for 루프마다 새 스레드 생성
- rest - 존재하지 않는 경우 HTTP PUT에서 자원을 작성해야합니까?
- mysql - 모든 라인이 다른 테이블에서 오는보기 만들기
- .net - Azure Eventhub를 사용하여 스키마 레지스트리에서 스키마를 만들 수 없습니다
- javascript - gsap scrolltrigger - 모든 섹션에 대한 타임 라인 만들기
- c++ - 누군가 기본 이동 생성자를 생성하지만 이동 할당 연산자를 삭제해야하는 이유는 무엇입니까?
- 웹 배포 용 플라스크에서 API를 생성하기 위해 머신 러닝 모델을 준비하려면 무엇을 변경해야합니까?
- python - "사용자"모델 인 friens 목록을 포함하는 Django에서 사용자 모델을 만드는 방법
- android - 조각에서보기 모델 클래스의 인스턴스를 만들 수 없습니다
- monaco-editor에서 텍스트 모델 인스턴스를 수동으로 생성하는 방법은 무엇입니까?
- r - dplyr을 사용하여 다양한 데이터 필터에 대한 모델 생성
- cron - 15 일마다 명령을 실행하려면 crontab에서 1,15 또는 */15를 사용해야합니까?
- php - laravel 모델 생성 이벤트에서 레코드 생성을 방지하는 방법
- javascript - 두 개체 배열간에 가능한 모든 조합을 만드는 방법은 무엇입니까?
- 라 라벨에서 모델의 유틸리티를 어디에 두어야합니까?
- node.js - nestjs - 몽구스 스키마에서 인덱스 생성
- python - 클라이언트 X가 구매 한 모든 항목의 목록을 만드는 방법은 무엇입니까?
관련 질문
- javascript : uniqueID를 문자열로 저장하고 해당 uniqueID가 objectID가 아닌 다른 컬렉션에서 가져온 문서 내부에 배열을 채우는 방법
- node.js : 하나의 서버에만 일부 쓰기가 있는 MongoDB 복제본
- node.js : 페이지 매김을 위해 mongodb에서 문서 건너 뛰기
- node.js : Mongoose를 사용하여 배열의 크기에 따라 결과 정렬
- node.js : 일치 결과를 기반으로 조회
- node.js : 'new' 키워드를 사용하거나 사용하지 않고 몽구스 스키마를 생성하시겠습니까?
- javascript : 요소가 없는 경우 푸시하여 mongodb에서 배열 필드를 업데이트하고 있는 경우 업데이트하는 방법은 무엇입니까?
- javascript : 두 개의 필드가 포함된 객체 배열을 기반으로 mongodb 문서 찾기
- node.js : 폴리곤에 폴리곤이 포함됨 [MONGODB]
- 쿼리 문자열이 생성되는 Node.js/Mongodb의 db.collection.find에 쿼리 조건 전달
사용자 관련 필드를 하나의 스키마로 유지하는 것이 좋습니다. 관계형 구조가 아니기 때문에 mongo가 있었기 때문에 관계형 구조를 멀리하여 성능을 얻었습니다. 따라서 각 필드에 대한 스키마를 만든 다음 생성하면 관련있는 사용자를 가리키는 각각의 참조, 몽고를 사용하여 밀접한 관계 구조를 구축하고 있으며 몽고는이 상황에서와 같이 좋지 않으므로 나중에 응용 프로그램에서 원하는 경우 어떤 방식 으로든 사용자의 모든 정보를 표시하거나 여러 사용자 필드를 업데이트하거나 경로 또는 다른 방법으로 사용자의 추가 정보를 표시하려고하면 심각한 성능 문제가 발생할 수 있습니다. 결론적으로 한 스키마 만 처리하기 위해 모든 스키마를로드하는 데 드는 비용은 데이터 구조를 분해하는 데 드는 비용만큼이 아닙니다.