MongoDb/MongoVue导出复合密钥的一部分
我想使用MongoVue为给定集合的一部分创建所有ID的快速导出 我有一个文档,它有一个_id字段,它是一个复合键 比如说MongoDb/MongoVue导出复合密钥的一部分,mongodb,mongovue,Mongodb,Mongovue,我想使用MongoVue为给定集合的一部分创建所有ID的快速导出 我有一个文档,它有一个_id字段,它是一个复合键 比如说 { "_id" : { "GroupID" : 3, "ThingyID" : 320486 }, "HowManyOwned" : 42, "IsAwesome" : true } 我想为第3组创建所有东西的导出 当然,如果我提出这样的问题 db.GroupThingy.find({ "_id.GroupID" : 3 }, { "_id
{
"_id" : {
"GroupID" : 3,
"ThingyID" : 320486
},
"HowManyOwned" : 42,
"IsAwesome" : true
}
我想为第3组创建所有东西的导出
当然,如果我提出这样的问题
db.GroupThingy.find({ "_id.GroupID" : 3 }, { "_id.ThingyID" : 1 })
我会取回所有的合成钥匙。我想用MongoVue快速创建这个导出。如果我使用该查询,我将返回的导出
Document[2 Keys]
Document[2 Keys]
Document[2 Keys]
我希望得到的是
或者
3,12345
3,3838
3,3777
3,1111
或者更好的是
12345
3838
3777
1111
我可以为此编写一个程序,但必须有一个快速的方法来完成这一点,我只是不知道
聚合框架无法帮助我获得csv导出。。。但是这样的东西只支持20k个文档
db.GroupThingy.group(
{
key: {
"_id.ThingyID": 1,
"_id.GroupID":1
},
cond: { "_id.GroupID": 3 },
reduce: function(curr, result){
result.ThingyID2 = curr._id.ThingyID
},
initial: { "ThingyID2": 0 }
});
由于这个问题,我终于找到了使用mongoexport获取导出的方法: 然而,我不断地得到错误: 错误:位置选项太多。。。这篇文章帮助我找到了答案: 因此,我运行mongoexport的最终解决方案是:
mongoexport
--host myHostName
--db theDB
--collection GroupThingy
--fields "_id.ThingyID"
--csv
--query "{'_id.GroupID':3}"
(为了可读性,有自己的选项)您是否考虑过使用聚合框架?你的收藏有多大?收藏的唱片不到700万张。