0
votes

I have some data from the database that I iterate over in a view. Few weeks ago I have done the same but those are ok, the issue is with these new data inserted in the database at startup.

My Publication (under server):

Meteor.publish('jobTypes', function(){
  return JobTypes.find();
});

Data Insert (under server):

JobTypes.insert({
  name: 'Full time'
});

JobTypes.insert({
  name: 'Part time'
});

JobTypes.insert({
  name: 'Contract'
});

JobTypes.insert({
  name: 'Freelance'
});

JobTypes.insert({
  name: 'Intern'
});

My lib folder (both server and client):

JobTypes = new Mongo.Collection('jobTypes');

Client only:

Meteor.subscribe('jobTypes');

The view:

{{#each jobTypes}}
    <label class="checkbox inline">
      <input id="jobType_{{_id}}" type="checkbox" value="{{_id}}" name="jobType" {{hasJobType}} /> {{name}}
    </label>
{{/each}}

When ever I restart the server (meteor) I get double or more insert. Have I missed something? Thanks.

1

1 Answers

0
votes

So I was being a but stupid. I needed to have an if statement before the insert:

if (JobTypes.find().count() === 0) {

  JobTypes.insert({
  name: 'Full time'

});

 // and so on
}