Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 流星号没有结果_Javascript_Meteor - Fatal编程技术网

Javascript 流星号没有结果

Javascript 流星号没有结果,javascript,meteor,Javascript,Meteor,我用的是流星1.0 这可能是初学者常见的错误,但我似乎无法找到解决方法 当我要求服务器返回集合时,结果不会显示。但是,我的控制台日志显示了良好的结果。 以下是客户端帮助程序: 有人能帮我一下吗?首先,你的方法应该返回一个游标,所以你应该删除.fetch(),它实际上遍历游标返回一个数组。游标在Meteor中本机支持和提升 Meteor.methods({ searchNearProjects: function() { return Project.find({}, {sort: {

我用的是流星1.0 这可能是初学者常见的错误,但我似乎无法找到解决方法

当我要求服务器返回集合时,结果不会显示。但是,我的控制台日志显示了良好的结果。 以下是客户端帮助程序:


有人能帮我一下吗?

首先,你的方法应该返回一个游标,所以你应该删除
.fetch()
,它实际上遍历游标返回一个数组。游标在Meteor中本机支持和提升

Meteor.methods({
  searchNearProjects: function() {
    return Project.find({}, {sort: {createdAt: -1}, limit: 10});
  }
});
同样在模板代码中,您正在替换数组,而应该填充它。但是,由于您使用的是活动游标,因此也不需要所有的
.each()
遍历。因此,您可以简单地执行以下操作:

Template.myProjectTips.helpers({
  matchingProjects: function() {
    Meteor.call('searchNearProjects', function(error, result) {
      if (error) {
        console.log(error.reason);
        return;
      } else {
        return result;
      }
    });
  }
});
但是对于这样一个非常简单的Mongo查询,您不应该使用
Meteor.method

相反,您应该像这样发布和订阅:

服务器:

Meteor.publish(“nearProjects”,函数(){ returnproject.find({},{sort:{createdAt:-1},limit:10}); });

客户:

Meteor.subscribe("nearProjects");

Template.myProjectTips.helpers({
  matchingProjects: function() {
    return Project.find({}, {sort: {createdAt: -1}, limit: 10});
  }
});

或者,如果您想使用某些查找条件发布,也可以将参数传递给subscribe和publish函数。

以及您的SearchNearProject的外观如何?谢谢,但是fields.push(field)给出了一个错误。我的服务器方法如下所示:searchNearProjects:function(){return Project.find({},{sort:{createdAt 1},limit:10})。fetch();},@tjakko我已经根据有关服务器方法的新信息更新了答案。非常感谢。这就是我要找的信息。
Meteor.subscribe("nearProjects");

Template.myProjectTips.helpers({
  matchingProjects: function() {
    return Project.find({}, {sort: {createdAt: -1}, limit: 10});
  }
});