2017-10-04 2 views
3

누구나 mongoexport 명령을 사용하여 mongodb에서 고유 한 열 값을 내보내는 방법을 알고 있습니다.MongoDB : 별개의 열 값 내보내기

명령 : db.coll.distinct ("uid");

내가 시도 솔루션은 다음과 같습니다

mongoexport --csv -d db -c collection -q '{distinct: "collection", "key": "uid"}' -f "uid" -o distinctUid.csv 

답변

4

그것은 이런 식으로 할 수 없습니다. distinct은 데이터베이스 명령이며 --query 옵션을 사용하면 query 만 사용하여 문서를 필터링 할 수 있습니다.

mongodb v3.4 이상을 사용하는 경우 views을 사용하여 컬렉션을 집계하고보기에서 내보낼 수 있습니다.

먼저 몽고 쉘에서보기를 만들 :

db.createView("distinctCollectionUid", "collection", [{ $group: { _id: "$uid"}}]); 

그런 다음 내보낼 :

mongoexport -d db -c distinctCollectionUid --type=csv -f "_id" -o distinctUid.csv 
1

의 작업을 나를 위해.

예 :

db.createView("distinctCollectionBI2_Style(BI2_Style is key which value must distinc)","best_seller_data(your collection name)", [{ $group: { _id: "$BI2_Style"}}]); 

다음 내보내기 :

mongoexport -d best-seller(db name) -c distinctCollectionBI2_Style --type=csv -f "_id" -o Desktop/pretr/style.csv 

먼저보기를 만들