나는 각 문서가 다른 사람의 인구 통계 정보 (유일한 식별자, 이름, 주소 등) 인 MongoDB 컬렉션을 가지고있다.MongoDB 배열에서 사전을 카운트하는 방법은 무엇입니까?
Python/pymongo를 사용하여 데이터베이스에 새 데이터를 구문 분석 할 때 기존 식별자에 해당하는 새 항목을 찾고 끝에 가장 많이 사용하는 항목을 사용하기 위해 새 항목의 개수를 추적해야합니다 .
예를 들어 컬렉션에 "Jenn Smith"가 있고 "Jennifer Smith"에 대한 두 개의 새 항목과 동일한 식별자가있는 경우 동일한 사람이며 Mongo의 $inc
을 사용하여 카운터이므로 문서는 결국 다음과 같이 보입니다 : 'names': { 'Jenn Smith': 1, 'Jennifer Smith': 2}
- 그리고 나는 결국 가장 일반적인 것인 "Jennifer Smith"를 사용할 수 있습니다.
location
은 예를 들어 {'street': '123 Maple Street Apt A', 'city': 'Austin', 'state': 'TX'}
과 같은 사전이므로 Jenn Smith가 자신과 관련된 위치와 동일한 문제를 해결해야 할 때 제 문제가 발생합니다. 이제는 때로는 여러 다른 위치, 하나씩 사전을 얻습니다. 지금까지는 $push
을 몽고로 배열했습니다. locations
. 그러나 대다수의 경우에는 각 컬렉션 문서의 위치가 매우 다르며 약간의 유사 콘텐츠가 있습니다 (예 : {'street': '123 Maple Street Apartment A', 'city': 'Austin', 'state': 'TX'}
).
나는 $inc
이 names
과 같은 방식으로 작동하지 않는다는 것을 알고 있습니다. 파이썬 사전은 해시 가능하지 않기 때문입니다. 내 locations
배열에서 가장 공통적 인 요소를 찾으려면 어떻게해야합니까?