【发布时间】:2012-11-28 13:20:29
【问题描述】:
我想使用 MongoVue 为给定集合的一部分创建所有 id 的快速导出。
我有一个包含 _id 字段的文档,它是一个复合键。
例如。
{
"_id" : {
"GroupID" : 3,
"ThingyID" : 320486
},
"HowManyOwned" : 42,
"IsAwesome" : true
}
我想为第 3 组创建所有 ThingyID 的导出。
当然,如果我这样查询的话。
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 }
});
【问题讨论】:
-
您是否考虑过为此使用聚合框架?你的收藏有多大?
-
该集合有不到 700 万条记录。