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