Meteor - insert failed: Method not found

后端 未结 2 1833
攒了一身酷
攒了一身酷 2021-01-14 03:17

I have a problem with my Meteor\'s JS file. I get this error \"insert failed: Method not found\" when I try to insert any data to the database and reflect on chart. I\'ve tr

2条回答
  •  萌比男神i
    2021-01-14 04:00

    Thanks for the help... I actually got it worked by publishing the collection and giving it some permissions:

    This code is placed in "myapp/shared/collections.js". (Placed them separately to handle all the other collections which I would add for other graphs)

    lineVar = new Meteor.Collection("linenvd3");
    lineVar.allow({
             insert: function () {
             return true;
             },
             update: function () {
             return true;
             },
             remove: function () {
             return true;
             }
             });
    

    This code is placed in "myapp/server/publish.js"

    Meteor.publish('line', function () {
               return lineVar.find();
               });
    

    Then, this is modified Javascript made look more simpler and comprehensive.

    if (Meteor.isClient) {
    Meteor.subscribe('line');
    Template.linenvd3.rendered = function() {
    
        var chart = nv.models.lineChart()
          .margin({left: 80})
          .useInteractiveGuideline(true)
          .transitionDuration(350)
          .showLegend(true)
          .showYAxis(true)        //Show the y-axis
          .showXAxis(true)        //Show the x-axis
        ;
    
        nv.addGraph(function() {
              chart.xAxis.axisLabel('Person number').tickFormat(d3.format('d'));
              chart.yAxis.axisLabel('Age (years)').tickFormat(d3.format('d'));
              d3.select('#lineChart svg').datum(
                [{ values: lineVar.find().fetch(), key: 'Age' }]
              ).call(chart);
              nv.utils.windowResize(function() { chart.update() });
              return chart;
        });
    
        Deps.autorun(function () {
              d3.select('#lineChart svg').datum(
                [{ values: lineVar.find().fetch(), key: 'Age' }]).call(chart);
              chart.update();
        });
    };
    }
    

提交回复
热议问题