2016-03-24 12 views
1

Sonuç veren bir kod var. Bu sonucu aldığımda normal olarak, müşteriye ve saf JSON nesnesine dönüştürüldüğü şekilde gönderirim.Iterate sequelize sorgu sonuç kümesi (Hapijs)

Ancak şimdi bu sonuç kümesinde bazı işlemler yapmalı ve ardından veritabanında başka bir arama yapmalıyım.

Neyi anlamadığım sonuç kümesinin yapısıdır. Nasıl düzgün bir şekilde yineliyorum. Bir for döngüsü kullanarak değerleri el ile elde edebilirdim, ancak bunu yapmanın bir yolu olmadığını hissediyorum.

models.Results.findAll({ 
      where: {ProjectId: projectId} 
     }) 
     .then(function (resultset) {    
      //How do I properly iterate over the resultset 
      for(p in resultset){ 

       var a = p; 
       var something; 

      } 


      reply(resultset).code(200); 
     }, function (rejectedPromiseError) { 
      reply(rejectedPromiseError).code(401); 
     }); 

Görüntü ayıklama modunda sonucunu gösterir:

Bu

sonuçları döndürür koddur.

+0

) {// Sonuç (dataValues, hasPrimaryKeys vs.) aradığınız özelliklere sahip nesne olmalıdır }); '. – utamanna

cevap

5

Eğer model.findAll kullanmak enter image description here döndürülür resultsetmodel Instance objects bir dizidir: Bu dizide 4 nesneleri vardır. Sadece ilginç şeyler (tablonuzdaki gerçek değerler) almak istiyorsanız, resultset üzerinden yineleyin ve get function'u her öğe için plain: true değerini içeren bir seçenek nesnesini geçirerek arayın. Bunun yerine bir `Alanı`nda döngü, denemek` resultset.forEach (function (sonucun

resultset.forEach((resultSetItem) => { 
    console.log(resultSetItem.get({ 
     plain: true 
    })); 
});