mongodb 중복 제거
高洛峰
高洛峰 2017-05-02 09:18:56
0
2
614

현재 데이터는 크롤러를 사용하여 캡처됩니다. 이제 일부 데이터가 중복되었습니다.
이제 무거운 무게를 없애려면 어떻게 해야 하는지 묻고 싶습니다.
해당 이름만 알 수 있으면 괜찮을 것 같아요
예를 들어요. 현재 Community_name 필드가 있습니다.
community_name이 두 번 이상 반복되는 이름 목록을 쿼리하고 싶습니다.
어떻게 쿼리해야 합니까?
감사합니다.
문서 형식:

으아아아
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(2)
刘奇

RDBMS와 비슷한 것을 구현하고 싶은 것 같습니다

으아아아

제가 제대로 이해한 것인지 모르겠습니다. 이 경우 해당 접근 방식은 집계 프레임워크를 사용하는 것입니다.

으아아아

이 쿼리는 다음 인덱스를 사용하여 더 빠른 결과를 얻을 수 있습니다.

으아아아

그래도 이 쿼리는 모든 레코드를 순회하므로 속도가 그리 빠르지는 않습니다.
사실 매번 모든 기록을 세는 것은 낭비입니다. 결과를 얻은 후 캐시하는 것이 가장 좋습니다. 캐시하는 방법은 수집된 데이터를 어떻게 사용하려는지에 따라 다릅니다.
삽입하기 전에 판단하는 것이 더 좋은 방법입니다. 동일한 community_name이 이미 존재하는 경우

와 같이 기록해 두세요. 으아아아

이런 방식으로 community_name_stat 세트를 직접 가져와 각 community_name가 몇 번이나 나타나는지 확인할 수 있습니다. 물론 최종 접근 방식은 필요에 따라 다릅니다. MongoDB는 매우 유연하며, 이는 관계형 데이터베이스와 구별되는 중요한 기능 중 하나입니다. 다양한 기능을 이해하고 필요에 따라 가장 비용 효율적인 솔루션을 사용자 정의하는 것은 MongoDB를 사용하는 데 있어 가장 큰 과제 중 하나입니다.

phpcn_u1582

올바르게 이해했다면 upsert를 직접 사용할 수 있습니다. 시스템에 이미 동일한 조건의 레코드가 있으면 업데이트만 하고, 그렇지 않으면 새 레코드를 생성하세요.

db.collection.update(query, update, {upsert: True, multi: <boolean>})

multi가 true로 설정된 경우 여러 레코드를 수정할 수도 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿