복붙노트

[MONGODB] 어떻게 효율적으로 여러 개의 키와 "별개"수행?

MONGODB

어떻게 효율적으로 여러 개의 키와 "별개"수행?

예를 들어,이 같은 모음이 있습니다 :

이 컬렉션은 수백만 문서의 수만을 포함합니다.

나는 두 개의 키와 별개 전화를 걸 :

collection.distinct('market', 'code');

및 결과를 얻을 :

기본 별개의 명령은 하나의 키를 받아 들일 때, 나는지도-줄이기 사용하여 구현하려고합니다. 그러나지도-감소하는 것은 너무 느린 기본 별개의 것입니다. 내 하나의 키 별개의 테스트에서는 기본 별개보다 더 열 배에 대한 지출을지도-줄일 수 있습니다. multikey 별개을 구현하기위한 효율적인 방법이 있나요?

해결법

  1. ==============================

    1.당신은 MongoDB의의 곧 2.2 릴리스가 나올 때까지 기다리는하고자하는 경우 효율적으로 통합 프레임 워크를 사용하여이 쿼리를 실행할 수 있습니다 :

    당신은 MongoDB의의 곧 2.2 릴리스가 나올 때까지 기다리는하고자하는 경우 효율적으로 통합 프레임 워크를 사용하여이 쿼리를 실행할 수 있습니다 :

    collection = db.tb;
    result = collection.aggregate( 
                [
                    {"$group": { "_id": { market: "$market", code: "$code" } } }
                ]
            );
    printjson(result);
    

    지도 / 버전을 줄일 수는 분을 인수하면서 내 테스트 시스템에서 백만 기록을 수집, 사초이 실행 된,에.

  2. from https://stackoverflow.com/questions/11973725/how-to-efficiently-perform-distinct-with-multiple-keys by cc-by-sa and MIT license