2016-05-07 3 views
-1

кому угодно, мне нужна помощь. перед этим я задаю вопрос, но я могу найти это решение. У меня есть код для подсчета переменной в коллекции. Я могу получить результат при подсчете один за другим, но не по группе. Вот мой код, я хочу посчитать это, но код мне не дал. Я хочу, чтобы результат как это:Метеор: подсчет данных из коллекции

PTR 1 КОМ 4

This my code: 
<template name="laporankategori"> 
    <table class="table"> 
    <thead> 
     <tr> 
     <th>Jenis Peralatan</th> 
     <th>Kuantiti</th> 
     </tr> 
    </thead> 
    <tbody> 
     {{#each profil}} 
     <tr> 
      <td>{{PTR}}</td> 
      <td>{{KOM}}</td> 
     </tr> 
     {{/each}} 
    </tbody> 
    </table> 
</template> 

// JS

Template.laporankategori.helpers({ 
    profil: function() { 
    return Profil.find({kategori: { $in: ['PTR', 'KOM'] } }).count(); 
    } 
}); 
+0

Где ваши '' PTR' и KOM' хелперы/контекстные переменные? –

+0

означает? потому что я уже использую этот код как 'profil: function() { return Profil.find ({kategori: 'PTR'}). count(); } 'и он работает. Теперь я пытаюсь использовать этот код 'profil: function() { return Profil.find ({kategori: {$ in: ['PTR', 'KOM']}}). Count(); } 'и его не работает. Я не уверен, где проблема насущно. – nurul

ответ

0
<template name="laporankategori"> 
<table class="table"> 
    <thead> 
    <tr> 
    <th>Jenis Peralatan</th> 
    <th>Kuantiti</th> 
    </tr> 
    </thead> 
    <tbody> 
    {{#each profil}} 
    <tr> 
     <td>{{count}}</td> 
    </tr> 
    {{/each}} 
    </tbody> 
</table> 
</template> 

// JS

Template.laporankategori.helpers({ 
profil: function() { 
    var PTR = { 
    count: Profil.find({kategori: { $in: ['PTR'] } }).count() 
    }; 
    var KOM = { 
    count : Profil.find({kategori: { $in: ['KOM'] } }).count() 
    }; 
    var resultArr = [PTR, KOM]; 
    return resultArr; 
} 
}); 
0

Всякий раз, когда вы перебор с {{#each ...}} вашим помощником должен возвращать либо курсором или массивом. Ваш помощник возвращает скаляр: счетчик. В вашем блоке {{#each }} вы ссылаетесь на {{PTR}} и {{KOM}}, но они не будут существовать.

Я подозреваю, что вы не были на самом деле ищете граф в этом случае и ваш помощник должен быть просто:

Template.laporankategori.helpers({ 
    profil: function() { 
    return Profil.find({kategori: { $in: ['PTR', 'KOM'] } }); 
    } 
}); 

Кроме того, вы не часто нужен подсчитывать вещи в качестве помощника, так как в шаблоне вы можете обратиться к {{profil.count}} и получить счетчик курсора напрямую.

+0

Могу ли я посоветовать, как использовать 'group aggregate count' – nurul

+0

Другой вопрос. –

Смежные вопросы