Я знаю, что это возможно с уменьшением карты (reference), но мне было интересно, можно ли использовать группу (в частности, в функции keyf
), чтобы объединить две коллекции.Группа Mongodb, соединяющая две коллекции
MYCOLL.collection.group(:keyf => "function(doc) { var var2Item=db.mycoll2.find({\"_id\":doc.my_sub_id}); var2=var2Item.join_var; return {'myreturn': doc.var1 + var2 }; }",
:initial => { :r => 0 },
:reduce => "function(doc,prev) { prev.r += +1; }",
:cond => {(...my_conditions...)})
Я также попытался
var2=doc.my_sub_id.join_var
и ни, кажется, работает. Я использую Ruby Driver, но это не очень важно, так как запрос (практически) необработанный.