MongoDB
-
MongoDB 집계 파이프라인 개요MongoDB의 집계 파이프라인(Aggregation Pipeline) 은 데이터를 단계별로 처리하여 필터링, 그룹화, 정렬 및 변환하는 강력한 분석 기능을 제공합니다. SQL의 GROUP BY와 유사하지만, 더 복잡하고 유연한 데이터 조작이 가능합니다. 이 문서에서는 "products" 데이터베이스의 "laptops" 컬렉션을 사용합니다. 이 컬렉션에는 200개의 노트북 데이터가 저장되어 있으며, 문서에는 brand(브랜드), in_stock(재고 상태), 그리고 attributes(속성 배열) 등의 정보가 포함되어 있습니다. 속성 배열에는 "8GB", "16GB"와 같은 메모리 크기 정보가 문자열 형태로 저장될 수 있습니다. 🛠 환경 설정Python에서 MongoD..
[Python]에서 MongoDB 집계 파이프 사용법 정리(MongoDB aggregation)MongoDB 집계 파이프라인 개요MongoDB의 집계 파이프라인(Aggregation Pipeline) 은 데이터를 단계별로 처리하여 필터링, 그룹화, 정렬 및 변환하는 강력한 분석 기능을 제공합니다. SQL의 GROUP BY와 유사하지만, 더 복잡하고 유연한 데이터 조작이 가능합니다. 이 문서에서는 "products" 데이터베이스의 "laptops" 컬렉션을 사용합니다. 이 컬렉션에는 200개의 노트북 데이터가 저장되어 있으며, 문서에는 brand(브랜드), in_stock(재고 상태), 그리고 attributes(속성 배열) 등의 정보가 포함되어 있습니다. 속성 배열에는 "8GB", "16GB"와 같은 메모리 크기 정보가 문자열 형태로 저장될 수 있습니다. 🛠 환경 설정Python에서 MongoD..
2025.03.13 -
systemctl status mongod 출력 결과를 바탕으로 MongoDB가 갑자기 꺼진 문제를 분석하고 해결하는 방법을 단계별로 자세히 설명드리겠습니다.원인 분석 방법, 조치 방법, 그리고 Python으로 자동 재시작하는 방법까지 모두!× mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2025-03-08 13:18:42 KST; 1 day 21h ago Docs: https://docs.mongodb.org/manual..
MongoDB 에러 대응 총정리 (/etc/mongod.conf (code=exited, status=1/FAILURE))systemctl status mongod 출력 결과를 바탕으로 MongoDB가 갑자기 꺼진 문제를 분석하고 해결하는 방법을 단계별로 자세히 설명드리겠습니다.원인 분석 방법, 조치 방법, 그리고 Python으로 자동 재시작하는 방법까지 모두!× mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2025-03-08 13:18:42 KST; 1 day 21h ago Docs: https://docs.mongodb.org/manual..
2025.03.10 -
MongoDB 에러와의 사투, 그리고 재시작 성공기MongoDB 서버 오류와 이를 해결한 과정을 공유하려고 합니다. 어떤 문제가 발생했는지, 그리고 어떻게 해결했는지 하나씩 살펴보겠습니다.문제 발생: MongoDB가 갑자기 멈추다어느 날 갑자기 MongoDB 서버가 멈췄다는 사실을 알게 되었습니다. 당황한 마음에 우선 시스템 상태를 확인하기 위해 터미널에서 다음 명령어를 입력했습니다:systemctl status mongod그 결과, 다음과 같은 로그가 출력되었습니다:✖ mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) ..
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017MongoDB 에러와의 사투, 그리고 재시작 성공기MongoDB 서버 오류와 이를 해결한 과정을 공유하려고 합니다. 어떤 문제가 발생했는지, 그리고 어떻게 해결했는지 하나씩 살펴보겠습니다.문제 발생: MongoDB가 갑자기 멈추다어느 날 갑자기 MongoDB 서버가 멈췄다는 사실을 알게 되었습니다. 당황한 마음에 우선 시스템 상태를 확인하기 위해 터미널에서 다음 명령어를 입력했습니다:systemctl status mongod그 결과, 다음과 같은 로그가 출력되었습니다:✖ mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) ..
2025.03.05 -
인덱싱은 데이터베이스 성능 최적화의 핵심이며, 제대로 사용하면 쿼리 속도를 크게 향상시킬 수 있습니다. MongoDB 인덱싱이란?인덱싱은 데이터베이스 테이블의 검색 속도를 향상시키기 위해 사용되는 데이터 구조입니다. MongoDB에서 인덱스는 컬렉션 내 문서들의 특정 필드 값을 정렬하여 저장합니다. 이를 통해 MongoDB는 전체 컬렉션을 스캔하지 않고도 빠르게 원하는 데이터를 찾을 수 있습니다.인덱싱의 장점쿼리 성능 향상: 인덱스를 사용하면 쿼리 실행 시간이 크게 단축됩니다.정렬 작업 최적화: 인덱스된 필드로 정렬할 때 성능이 향상됩니다.고유성 보장: 유니크 인덱스를 사용하여 필드 값의 중복을 방지할 수 있습니다.집계 연산 개선: 특정 집계 작업의 성능을 향상시킵니다.자주 쿼리되는 데이터에 대해서는 컬..
MongoDB 성능 개선! 빠른 속도 튜닝!을 위한 DB 인덱싱 적용 db.collection.createIndex인덱싱은 데이터베이스 성능 최적화의 핵심이며, 제대로 사용하면 쿼리 속도를 크게 향상시킬 수 있습니다. MongoDB 인덱싱이란?인덱싱은 데이터베이스 테이블의 검색 속도를 향상시키기 위해 사용되는 데이터 구조입니다. MongoDB에서 인덱스는 컬렉션 내 문서들의 특정 필드 값을 정렬하여 저장합니다. 이를 통해 MongoDB는 전체 컬렉션을 스캔하지 않고도 빠르게 원하는 데이터를 찾을 수 있습니다.인덱싱의 장점쿼리 성능 향상: 인덱스를 사용하면 쿼리 실행 시간이 크게 단축됩니다.정렬 작업 최적화: 인덱스된 필드로 정렬할 때 성능이 향상됩니다.고유성 보장: 유니크 인덱스를 사용하여 필드 값의 중복을 방지할 수 있습니다.집계 연산 개선: 특정 집계 작업의 성능을 향상시킵니다.자주 쿼리되는 데이터에 대해서는 컬..
2024.08.26 -
⚠️ 성능에 영향을 주는 쿼리를 확인하기 위한 용도일뿐, 이 자체로 성능을 개선하는 것과는 무관합니다.(오히려 프로파일링 활성화 모드일때 성능을 더 잡아먹음. 프로파일링 완료 후 반드시 프로파일링 비활성화를 해야 함)프로파일링 활성화mongo db 접속 및 해당 database 접근 후 사용.2개 중에 편한 방법을 이용하여 활성화할 수 있다. 1. mongosh(mongoshell) 을 통한 사용 시# mongosh 접속mongosh# admin db 접근use admin# db 권한 접속db.auth('사용자명','비밀번호')# 프로파일링할 db 사용: platform db 예시use platform# 프로파일링 활성화: 예시: 레벨 1, slowms 느린쿼리 임계치를 의미. 즉 100ms 를 초과하는..
MongoDB 성능 개선을 위한 점검 (DB 프로파일링 / db.setProfilingLevel)⚠️ 성능에 영향을 주는 쿼리를 확인하기 위한 용도일뿐, 이 자체로 성능을 개선하는 것과는 무관합니다.(오히려 프로파일링 활성화 모드일때 성능을 더 잡아먹음. 프로파일링 완료 후 반드시 프로파일링 비활성화를 해야 함)프로파일링 활성화mongo db 접속 및 해당 database 접근 후 사용.2개 중에 편한 방법을 이용하여 활성화할 수 있다. 1. mongosh(mongoshell) 을 통한 사용 시# mongosh 접속mongosh# admin db 접근use admin# db 권한 접속db.auth('사용자명','비밀번호')# 프로파일링할 db 사용: platform db 예시use platform# 프로파일링 활성화: 예시: 레벨 1, slowms 느린쿼리 임계치를 의미. 즉 100ms 를 초과하는..
2024.08.26 -
mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2024-08-26 13:39:12 KST; 3min 34s ago Docs: https://docs.mongodb.org/manual Process: 819091 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE) Main PID: 819091 (code=exited, status=1/FAILURE) CP..
mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) MongoDB 서비스 재시작 실패: 문제 해결 가이드mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2024-08-26 13:39:12 KST; 3min 34s ago Docs: https://docs.mongodb.org/manual Process: 819091 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE) Main PID: 819091 (code=exited, status=1/FAILURE) CP..
2024.08.26 -
이 문제는 아마 업데이트 연산자를 지정하지 않아서 발생 했을것 입니다 .예를 들어 값을 사용하려면 $set을 사용하세요. before)collection.update_one({"_id": "fh98h43f89fh4fh"}, {"some_field": "some update"}) after)collection.update_one({"_id": "fh98h43f89fh4fh"}, {"$set": {"some_field": "some update"}})
ValueError: update only works with $ operators이 문제는 아마 업데이트 연산자를 지정하지 않아서 발생 했을것 입니다 .예를 들어 값을 사용하려면 $set을 사용하세요. before)collection.update_one({"_id": "fh98h43f89fh4fh"}, {"some_field": "some update"}) after)collection.update_one({"_id": "fh98h43f89fh4fh"}, {"$set": {"some_field": "some update"}})
2024.05.20 -
MongoDB가 설치되어 있다는 가정하에 진행하겠습니다.😁 우선 터미널에서 아래의 커맨드를 입력합니다. sudo vi /etc/mongod.conf net, processMangement, security 중점으로 아래처럼 바꿔주시면 됩니다. # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /var/lib/mongodb journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write lo..
Ubuntu MongoDB 원격 접속 총정리(MongoDB Remote Connect)MongoDB가 설치되어 있다는 가정하에 진행하겠습니다.😁 우선 터미널에서 아래의 커맨드를 입력합니다. sudo vi /etc/mongod.conf net, processMangement, security 중점으로 아래처럼 바꿔주시면 됩니다. # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /var/lib/mongodb journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write lo..
2022.07.31