sql >> Database >  >> NoSQL >> MongoDB

MongoDB-aggregatie met DBref

U kunt DBRef niet gebruiken waarden met het aggregatieraamwerk. In plaats daarvan moet u JavasScript-verwerking van mapReduce gebruiken om toegang te krijgen tot de eigenschapsnaam die ze gebruiken:

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 }
    }
)

Je zou DBRef echt niet moeten gebruiken helemaal niet. Het gebruik is nu in principe verouderd en als u denkt dat u externe verwijzing nodig heeft, moet u dit "handmatig verwijzen" met uw eigen code of geïmplementeerd door een andere bibliotheek, waarmee u dit op een veel meer ondersteunde manier kunt doen.



  1. maak verbinding met een mongodb-instantie zonder --authenticationDatabase admin

  2. Opgeslagen procedure in MongoDB

  3. DateTime met MongoDB/Mongoid en Rails 3 niet gevuld

  4. Node / Express-app kan geen verbinding maken met docker mongodb