传递整个对象真的是这样做的方法吗?

Is passing the entire object really the way to do this?

this page,我看到这段代码:

post._id = Posts.insert(post);
Router.go('postPage', post);

...根据 _id 值加载页面。

这真的应该是这样,还是应该这样:

var id = Posts.insert(post);
Router.go('postPage', id);

?

IOW,当需要的只是从插入函数返回的 id 时,为什么要传递整个对象(引用上面链接的页面,“La función insert() devuelve el identificador _id del objeto que se ha insertado en la base de datos")?

即使显示的方法可行(路由器足够智能以提取 ID),"my way" 不是更好吗(即使我不是 Sinatra)?

你是对的。您引用的博客 post 中的示例代码甚至无法运行。

Router.route('/posts/:_id', {
  name: 'postPage',
  data: function() { return Posts.findOne(this.params._id); }
});

post作为参数传递时会失败,因为this.params._id是整个:_id 参数,而不是从传递的对象中提取 _id