mongodb python 예제

By Dave Sanasack, on Aug, 02 2019

MongoEngine이 개체 지향적이기 때문에 하위 클래스 문서에 메서드를 추가할 수도 있습니다. 컬렉션의 모든 개체를 반환하는 기본 쿼리 집합을 수정하는 데 함수가 사용되는 다음 예제를 고려합니다. 이를 사용하여 클래스에 기본 필터를 적용하고 원하는 개체만 얻을 수 있습니다. 특정 필드를 가져올 것이라고 보여 드리겠습니다. 이 경우 0을 사용하여 _id를 가져오지 않도록 지정하고 1을 사용하여 작성자와 약을 가져와야 합니다. MongoDB는 0을 두 번 지정할 수 없습니다. 예를 들어 아래 0으로 태그를 지정하면 오류가 생성됩니다. 동일한 개체에서 0과 1 값을 모두 지정할 수 없습니다(필드 중 하나가 _id 필드인 경우 제외). 값 0이 있는 필드를 지정하면 다른 모든 필드에는 값 1이 됩니다. MongoDB는 BSON 형식으로 데이터를 저장합니다. BSON 문자열은 UTF-8 인코딩되므로 PyMongo는 저장하는 모든 문자열에 유효한 UTF-8 데이터만 포함되어 야 합니다. 일반 문자열()은 변경되지 않고 유효성을 검사하고 저장합니다.

유니코드 문자열()은 먼저 UTF-8로 인코딩됩니다. 예제 문자열이 `Mike` 대신 파이썬 셸에서 `Mike`로 표시되는 이유는 PyMongo가 각 BSON 문자열을 일반 str이 아닌 파이썬 유니코드 문자열로 디코딩하기 때문입니다. 이 예제에서 MongoDB에 데이터를 삽입하는 명령은 insert_one() 함수입니다. 조금 자명한 insert_one은 MongoDB에 하나의 문서를 삽입합니다. 결과 집합은 생성된 단일 ObjectID를 반환합니다. 이것은 데이터를 삽입하는 몇 가지 방법 중 하나입니다. 한 호출에 여러 문서를 삽입하려는 경우 insert_many 함수를 사용할 수 있습니다. insert_many에 대한 결과 집합에는 삽입 확인 외에도 생성된 ObjectID 목록이 포함됩니다. insert_many에 대한 자세한 내용은 여기의 설명서를 참조하십시오. 메서드 예제를 제공하지만 필요한 경우에만 사용하십시오. 집계 프레임워크에 대한 심층적인 내용은 이 문서의 범위를 벗어나지만 이 에 대해 자세히 알아차리려면 다음 URL인 https://docs.mongodb.com/manual/aggregation/ 대해 자세히 알아보세요. insert_one 및 insert_many와 마찬가지로 update_one, update_many 및 replace_one을 포함하여 MongoDB 데이터를 업데이트하는 데 도움이 되는 함수가 있습니다.

update_one 메서드는 문서와 일치하는 쿼리를 기반으로 단일 문서를 업데이트합니다. 예를 들어 비즈니스 검토 응용 프로그램에 사용자가 비즈니스를 “좋아요”할 수 있다고 가정해 보겠습니다. 이 새로운 “좋아요” 필드로 문서를 업데이트하는 방법을 설명하기 위해 먼저 이전 응용 프로그램이 MongoDB에 삽입한 기존 문서의 모양을 살펴보겠습니다. 다음으로 문서를 업데이트하고 문서를 다시 쿼리하고 변경 사항을 살펴보겠습니다. MongoDB에 대한 백업은 실수로 데이터베이스에서 뭔가를 삭제하고 백업에 있는지 확실하지 않다는 것을 깨닫게 쉽게 했다? 여러 시점에서 데이터를 비교해야 합니까? 또는 전체 데이터베이스를 복원하지 않고 기록 데이터의 하위 집합을 보고 싶습니까? MongoDB Atlas에서 제공하는 쿼리 가능한 백업은 이러한 문제 중 일부를 해결하는 데 도움이 될 수 있습니다. 클러스터를 만들 때 백업 서비스를 이미 사용하도록 설정한 경우 스냅샷 을 선택합니다. 그렇지 않은 경우 MongoDB Atlas 인터페이스의 구성 섹션으로 이동하여 토글 스위치를 통해 언제든지 BACKUPS를 사용하도록 설정할 수 있습니다. 시작하려면 MongoDB 아틀라스 패널과 화면 왼쪽에 있는 “백업” 아이콘에 로그인할 수 있습니다. 백업 섹션에 도달하면 일부 옵션이 있는 타원(“…”) 드롭다운 메뉴를 찾을 수 있습니다. [쿼리할 스냅샷 선택] (https://webassets.mongodb.com/_com_assets/cms/Select_snapshot_Atlas-pfu29d6ife.png) 이 메뉴에서 쿼리를 선택하면 아카이브에서 특정 스냅샷을 선택할 수 있는 옵션이 제공됩니다. 쿼리할 시간 프레임을 선택한 다음 다음을 클릭합니다. “스냅샷 쿼리” 창이 표시됩니다.