2017-10-04 55 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