MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB Агрегиране с DBRef

Не можете да използвате DBRef стойности с рамката за агрегиране. Вместо това трябва да използвате JavasScript обработка на mapReduce за достъп до именуването на свойството, което използват:

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

Наистина не трябва да използвате DBRef изобщо. Използването е основно отхвърлено сега и ако смятате, че имате нужда от някакво външно препращане, тогава трябва да "ръчно препращате" това с вашия собствен код или да се внедри от друга библиотека, с която можете да го направите по много по-поддържан начин.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb инсталиране - изисквания?

  2. Актуализиране на вграден документ в MongoDB с официален C# драйвер

  3. MongoDB - MySQL SUM (CASE WHEN) Еквивалент?

  4. Как да върна актуализиран документ от метода findOneAndUpdate?

  5. Как да чета данни в Tensorflow?