流星参数及其来源

时间:2015-09-22 14:35:53

标签: meteor

我有一个问题,其中流星函数的所有参数都来自哪里?像postAttribues,id,postId,limit等等......

Meteor.publish('newPosts', function(limit) {
  return Posts.find({}, {sort: {submitted: -1}, limit: limit});
});
Meteor.publish('singlePost', function(id) {
  return id && Posts.find(id);
});
//related to post
Meteor.publish('comments', function(postId) {
  return Comments.find({postId: postId});
});

他们是否从Mongo DB发出信号?记住这些东西真是太棒了,但是知道这些参数来自哪里以及我通常可以使用哪些参数会很好。

我之前从未使用任何框架,所以这可能是我困惑的原因。在跳上Meteor之前,我专门使用Javascript。

我也有关于铁路由器的相同问题:在创建路线时,我们可以设置一条路线,其中包含/randomName/:_id的特定ID以及负责关联"的唯一代码。 :_id"实际页面为this.params._id。后端为什么以及如何将这些事情联系起来?

我将非常感谢帮助我更好地理解这一点。

1 个答案:

答案 0 :(得分:1)

meteor find()查询遵循此处定义的find({query}, {options})语法:http://docs.meteor.com/#/full/find其中options参数是包含sort, limit, etc..的对象。这些选项看起来类似于某些Mongo运算符,例如.sort().limit(),但已定义

参数limitsortoptions参数的一部分。查看此处的Meteor文档是有用的:https://docs.mongodb.org/manual/

参数postId来自您在数据库中定义对象的方式。此字段是query参数的一部分,用于指定在DB中准确找到的内容。因此,通过指定postId:,Meteor会查看您的Comments集合中是否包含您传递的postId。传递字符串作为查询参数时,预计该字符串是集合中的_id。

有关传递到发布本身的参数,请参阅docs.meteor.com/#/full/meteor_subscribe。它来自订阅。基本上,你可以通过。这种方式在客户端和服务器之间的参数。为了使您的出版物更加健壮,您可以根据需要添加参数,以便客户可以指定他们想要的“id”或“限制”。

关于你的铁:路由器问题,我不确定你究竟是在询问后端如何关联参数和页面本身。也许你可以更具体,并相应地更新你的问题