 <p>If you want to display a table with all the possible properties in the header, and each row with each column filled or not whether the property is defined or not for the document in that row, then you will need to:</p> <ol> <li>Ahead of time (in <code>onCreated</code> or <code>onRendered</code>), find <em>all</em> possible properties for your dataset, order them, and store them in a "header" object accessible to your helpers. (either in <code>Session</code> or using a <a href="http://docs.meteor.com/#/full/reactivevar_pkg" rel="nofollow">reactive variable</a>) Make it reactive if necessary, using <code>this.autorun()</code>.</li> <li>Then, do the same as above, except just returning the stored ordered list for <code>tableHeader</code></li> <li>And for <code>rowContent</code>, iterate over your stored header and fill an array with empty strings for each undefined field in the current document</li> </ol> <p>Example:</p> <pre><code>function getHeader(products) { var header = {}; for (var key in products) { for (var property in products[key]) { header[property] = true; } } return Object.keys(header); } Template.productvalue.onRendered(function () { var products = Products.find().fetch(); Session.set('header', getHeader(products)); this.autorun(function () { var products = Products.find().fetch(); Session.set('header', getHeader(products)); }); }); Template.productvalue.helpers({ 'tableHeader': function () { return Session.get('header'); }, 'rowContent': function (document) { var row = []; var header = Session.get('header'); for (var key in header) { row.push(document[header[key]] || ""); } return row; } }); </code></pre> <p>And in template:</p> <pre><code>&lt;template name="productvalue"&gt; &lt;table&gt; &lt;thead&gt; {{#each tableHeader}} &lt;th&gt;{{this}}&lt;/th&gt; {{/each}} &lt;/thead&gt; &lt;tbody&gt; {{#each products}} &lt;tr&gt; {{#each rowContent this}} &lt;td&gt;{{this}}&lt;/td&gt; {{/each}} &lt;/tr&gt; {{/each}} &lt;/tbody&gt; &lt;/table&gt; &lt;/template&gt; </code></pre> <p>I still recommend <a href="https://dweldon.silvrback.com/scoped-reactivity" rel="nofollow">using a reactive variable</a> instead of <code>Session</code>, but the demonstration is complicated enough as it is.</p>