我有一个问题,其中流星函数的所有参数都来自哪里?像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
。后端为什么以及如何将这些事情联系起来?
我将非常感谢帮助我更好地理解这一点。
答案 0 :(得分:1)
meteor find()
查询遵循此处定义的find({query}, {options})
语法:http://docs.meteor.com/#/full/find其中options
参数是包含sort, limit, etc..
的对象。这些选项看起来类似于某些Mongo运算符,例如.sort()
和.limit()
,但已定义
参数limit
和sort
是options
参数的一部分。查看此处的Meteor文档是有用的:https://docs.mongodb.org/manual/
参数postId
来自您在数据库中定义对象的方式。此字段是query
参数的一部分,用于指定在DB中准确找到的内容。因此,通过指定postId:
,Meteor会查看您的Comments
集合中是否包含您传递的postId
。传递字符串作为查询参数时,预计该字符串是集合中的_id。
有关传递到发布本身的参数,请参阅docs.meteor.com/#/full/meteor_subscribe。它来自订阅。基本上,你可以通过。这种方式在客户端和服务器之间的参数。为了使您的出版物更加健壮,您可以根据需要添加参数,以便客户可以指定他们想要的“id”或“限制”。
关于你的铁:路由器问题,我不确定你究竟是在询问后端如何关联参数和页面本身。也许你可以更具体,并相应地更新你的问题