Nemůžete použít DBRef
hodnoty s agregačním rámcem. Místo toho musíte použít zpracování JavasScript pro mapReduce
za účelem přístupu k pojmenování vlastností, které používají:
db.coll.mapReduce(
function() {
emit( this.source.$ref, this["total_price"] )
},
function(key,values) {
return Array.sum( values );
},
{
"query": { "sold_at": { "$gte": start, "$lt": end } },
"out": { "inline": 1 }
}
)
Opravdu byste neměli používat DBRef
vůbec. Použití je nyní v podstatě zastaralé a pokud máte pocit, že potřebujete nějaké externí odkazování, měli byste to „ručně odkazovat“ svým vlastním kódem nebo implementovat nějakou jinou knihovnou, se kterou to můžete udělat mnohem podporovanějším způsobem.