Get Key from Object Loop

What the heck?

  {{#each part in parts}}
    <div class="row">
      <div class="col s12 12">
        <div class="card small">
          <div class="card-image">
            <img src="/images/story/{{image}}">
          </div>
          <div class="card-content">
            <h3>{{part._id.str}}</h3>
          </div>
        </div>
      </div>
    </div>
  {{/each}}

id, _key, _id, _key? Is there complete documentation around doing something this simple anywhere?

Can you give an example of an object, and what you are trying to accomplish? Apologies, didn’t understand the question

Something like

{{#each part in parts}}

 <p>{{@key}}: {{part:number}}<p>

{{/each}}

I just answered a similar question. The important part is the helper that iterates over the keys. However since that gives you an array of strings then you also want to be able to get the value.

Template.myTemplate.helpers({
keys(){
    return Object.keys(this); // returns an array of strings
  },
 value(){
    return Template.parentData()[this]; // look up the hierarchy to get the parent object then select the data for the current key
  }
});

So, if I remove blaze templates, I can basically replace this methodology with React or Angular? Am I correct in that assumption (being new to Meteor)?

That is correct. React, Angular, and Blaze are each alternatives for how you build your “view” layer. There should be no reason to ever use more than one of these at a time (excepting perhaps temporarily during a transition from one to another).