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

Група Mongodb по поле dbref

Преди имаше раздел в ръководството, в който изрично се посочваше, че DBRef не се поддържа от рамката за агрегиране, заедно с различни други типове BSON.

Старият пасаж гласи, както е показано в този архив на групите в Google съобщение:

Може все още да е там някъде, но просто не мога да го намеря в момента :)

Освен това, както се споменава в тази нишка със съобщения, освен че това не се поддържа в рамката за агрегиране, другата ви опция (и единствената реална опция за агрегиране) е да използвате mapReduce метод вместо това. Като пример за обвивка:

db.Products.mapReduce(
    function() {
        emit( this.model.$id, { "actives": [this.isActive] } );
    },
    function(key,values) {
        var result = { "actives": [] };
        values.forEach(function(value) {
            value.actives.forEach(function(active) {
                result.actives.push( active );
            });
        });
    },
    { "out": { "inline": 1 } }
)

Не изглежда толкова добре поради произволния { "_id": "", "value": { } } структура на резултатите от mapReduce, но позволява вида агрегиране, който търсите.

Има и препратка към този проблем на JIRA:SERVER-14466 , но не бих издържал много движение на този фронт.

Така че можете да използвате mapReduce, но би било препоръчително да се отдалечите от използването на DBRef и да дефинирате алтернативна форма на „ръчни препратки“, или вграждайки информация за „колекция“ и „база данни“, или разчитайки на външна дефиниция на такива неща в схемата на вашето приложение, в зависимост на вашите нужди. Докато следвате същите правила там, можете да използвате рамката за агрегиране за всичко с валидни имена на свойства.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да настроите FeatureCompatibilityVersion в MongoDB

  2. Как се избира това в MongoDB

  3. Създайте многоезичен текстов индекс в MongoDB

  4. node.js express mongodb запазване на съобщения?

  5. Съхраняване на схеми и функции на формуляри в база данни