如何计数外键和按名称分组?MongoDB映射/减少?
如何使用 父项的名称。如何在MongoDB中实现这一点?我从sql切换到 在这个问题上浪费了很多时间 其中一个对象:如何计数外键和按名称分组?MongoDB映射/减少?,mongodb,mapreduce,Mongodb,Mapreduce,如何使用 父项的名称。如何在MongoDB中实现这一点?我从sql切换到 在这个问题上浪费了很多时间 其中一个对象: { "_id" : ObjectId( "4eb69c58b51ab1070e000024" ), "name" : "ruby", "post_ids" : [ ObjectId( "4eb69c58b51ab1070e000023" ), ObjectId( "4eb69c60b51ab1070e000026" ), ObjectId
{ "_id" : ObjectId( "4eb69c58b51ab1070e000024" ),
"name" : "ruby",
"post_ids" : [
ObjectId( "4eb69c58b51ab1070e000023" ),
ObjectId( "4eb69c60b51ab1070e000026" ),
ObjectId( "4eb69c69b51ab1070e000027" ),
ObjectId( "4eb69c6fb51ab1070e000028" ),
ObjectId( "4eb69c7db51ab1070e000029" ) ] }
预期效果:
{"name":"ruby","count":"5", "post_ids":["4eb69c58b51ab1070e000023",
"4eb69c60b51ab1070e000026", "4eb69c69b51ab1070e000027",
"4eb69c6fb51ab1070e000028", "4eb69c7db51ab1070e000029"]}
此代码未经测试,可能需要进行一些调整:
db.articles.group({
key: { name:true },
reduce: function(obj,prev) { prev.total_posts += obj.post_ids.length; },
initial: { total_posts: 0 }
});
此代码未经测试,可能需要进行一些调整:
db.articles.group({
key: { name:true },
reduce: function(obj,prev) { prev.total_posts += obj.post_ids.length; },
initial: { total_posts: 0 }
});