2016-04-12 24 views
3
gibi bir çokkarmaşık bir yapıyorum.

Yeniden düzenleyin Sonuçları yeniden boyutlandır

const versions = yield Version.findAndCountAll({ 
    order: [['createdAt', 'DESC']], 
    attributes: ['description', 'createdAt', 'id'], 
    include: [{ 
    model: Section, 
    attributes: ['slug'], 
    where: { slug: section }, 
    include: [{ 
     model: Type, 
     attributes: ['slug'], 
     where: { slug: type }, 
     include: [{ 
     model: Group, 
     attributes: ['slug'], 
     where: { slug: group } 
     }] 
    }] 
    }] 
}); 

sonuçlar daha sonra bu gibi çıkmıştı:

{ 
    "description": "Wow. Nice one.", 
    "createdAt": "2016-04-11T23:05:15.736Z", 
    "body": "hi", 
    "id": 10, 
    "Section": { 
    "slug": "ttyl", 
    "Type": { 
     "slug": "Test", 
     "Group": { 
     "slug": "python2", 
     } 
    } 
    } 
} 

için bunların iç içe çalışmak için biraz tatsız bir sonuç yapar derinliği. Mümkünse bundan daha fazlasını isterim, eğer mümkünse,

{ 
    "description": "Wow. Nice one.", 
    "createdAt": "2016-04-11T23:05:15.736Z", 
    "body": "hi", 
    "id": 10, 
    "Section": "ttyl", 
    "Type": "Test", 
    "Group": "python2" 
} 

cevap

1

Ham: true ayarlanarak bazı kapsamını düzleştirebilirsiniz. Ham gerçek, model.subproperty.property, etc, vb. Gibi bir şeye yaslanacak. 'As' seçeneğini dahil etmek, bu özellikleri taklit etmenizi sağlar. ancak, nesnenin otomatik olarak tamamen yeniden şekillendirilebileceğine inanmıyorum (en azından, dokümanlardaki hiçbir şeyi bulamadım). Yukarıdaki örnekte, sonuç olarak, kendi haritalama adımınızı eklemelisiniz.

Model.findAndCountAll({ 
    ... 
}).then(function(results){ 
    return results.map(function(items){ 
     //map into another "object' 
     //or into anonymous {}; 
    }); 
}); 
+0

Eleştiri için paylaştığınız bağlantının ilgili bölümünü kopyalayabilir misiniz? – Noah

+0

@Noah, düzleştirme hakkındaki yorumlarımı netleştirdi/güncelledi. – scottjustin5000

İlgili konular