MongoDB:导出不同的列值

时间:2017-10-04 08:28:46

标签: mongodb mongoexport

任何人都知道如何使用 mongoexport 命令在mongodb上导出不同的列值。

命令: db.coll.distinct(“uid”);

我尝试的解决方案是:

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

2 个答案:

答案 0 :(得分:6)

不可能这样做。 distinct是一个数据库命令,db.createView("distinctCollectionUid", "collection", [{ $group: { _id: "$uid"}}]); 选项只允许使用query来过滤文档。

如果您使用的是mongodb v3.4或更高版本,则可以使用views汇总您的收藏集并将其从视图中导出。

首先在mongo shell中创建视图:

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

然后导出它:

queue

答案 1 :(得分: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