In order to solve this issue, add an array of fields to your custom object metadata definition. I had a hard time with this too. I figured it out by creating the fields in Salesforce setup->create->objects (point and click admin) and then reading the metadata produced via:
conn.metadata.read(type, [fullName1, fullName2, ..], callback)
Put the array of objects below into the metadata variable and it should work.
fields: [ { fullName: 'A_Value__c',
externalId: 'false',
label: 'A Value 2',
precision: '18',
required: 'false',
scale: '0',
trackTrending: 'false',
type: 'Number',
unique: 'false' },
{ fullName: 'A3_Value__c',
externalId: 'false',
label: 'A Value 3',
precision: '18',
required: 'false',
scale: '0',
trackTrending: 'false',
type: 'Number',
unique: 'false' } ],
Want to become a salesforce Analyst, here's a Salesforce Course for you!