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