title: Method is called many times, but should be called once. Don't see why?
body: <p>I'm trying to test but I'm having a problem I can't find a solution to, this is my test.. it's not very good I know but I need solution.</p>
  
  <p>This is my method:</p>
  
  <pre class="lang-js prettyprint-override"><code>import { Meteor } from 'meteor/meteor'
  import { ValidatedMethod } from 'meteor/mdg:validated-method'
  import { CallPromiseMixin } from 'meteor/didericis:callpromise-mixin'
  
  import Journal from '../journals/journals'
  import JournalDetails from '../journals/journal-details'
  
  export const journalMigrateTotDecimal = new ValidatedMethod({
    name: 'app.journalMigrateTotDecimal',
    mixins: [CallPromiseMixin],
    validate: null,
    async run() {
      if (Meteor.isServer) {
        let res
        console.log('start....');
        let journals = await Journal.find().lean()
        res = await Journal.deleteMany({})
        res = await Journal.insertMany(journals)
        console.log('done journal!');
        let journalDetails = await JournalDetails.find().lean()
        res = await JournalDetails.deleteMany({})
        res = await JournalDetails.insertMany(journalDetails)
        console.log('done journal details!');
      return res
     }
    },
  })
  </code></pre>
  
  <p>Call on client:</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;ElButton type="primary" @click="migrateJournalData"&gt;
        Journal
  &lt;/ElButton&gt;
  </code></pre>
  
  <pre class="lang-js prettyprint-override"><code>methods: {
   migrateJournalData() {
    this.loading = true
    journalMigrateTotDecimal
      .callPromise()
      .then(res =&gt; {
        this.loading = false
        console.log('res', res)
      })
      .catch(err =&gt; {
        this.loading = false
        console.log('err', err)
      })
    },
  },
  </code></pre>
  
  <p>The problem is the method is called more than once and I don't know why. I don't know how to solve it.</p>