sql >> Databáze >  >> NoSQL >> MongoDB

Agregace MongoDB s DBRef

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.



  1. jak importovat soubor csv do mongodb v Javě

  2. Funkce Mongo Find() nevyloučí _id

  3. Jak najít řetězce se shodnými písmeny v seznamu / poli pomocí funkce lambda?

  4. Nalezení nejbližších bodů k určitému bodu vzhledem k jeho souřadnicím a maximální vzdálenosti – výsledek dotazu není definován pomocí Mongoose s MEAN Stack