如何使用meteor在按钮点击时显示来自集合的单个文档

时间:2016-07-20 16:28:46

标签: node.js mongodb templates meteor

我正试图通过点击按钮从数据库中检索单个随机文档。当页面加载时,它会获得一个文档并显示在网页上;但是,当我尝试单击按钮以检索另一个随机文档并在网页上显示时,它不起作用。

问题是将对象传递给html文件。是的,我是Meteor /模板系统的新手。

main.html中

<body>
<ul>
   {{#each resolutions}}
    {{> resolution}}
   {{/each}}
</ul>
</body>

<template name="resolution">
<li>
  <span class="text">{{question}}</span><br>
  <button type="button" name="button" class="change-question">Change Question</button>
<br>
</li>
</template>

main.js

  Resolutions = new Mongo.Collection('questions');

  Template.resolution.events({
  'click .change-question': function(event, instance){

  var collection_size = Resolutions.find().count();
  var random = Math.floor(Random.fraction() * collection_size);
  // choose a random item by skipping N items
  var item = Resolutions.findOne({},{
    skip: random
  });
  var objArray = $.makeArray(item);

  instance.question.set(objArray);
   // window.alert("sometext" + objArray);
   }
   });

  Template.body.helpers({
  resolutions: function() {
    var collection_size = Resolutions.find().count();
    var random = Math.floor(Random.fraction() * collection_size);
    // choose a random item by skipping N items
    var item = Resolutions.findOne({},{
      skip: random
    });
    var objArray = $.makeArray(item);
    return objArray;
    }
    });

ERROR消息显示'无法读取未定义的属性集'。

感谢任何帮助。

0 个答案:

没有答案