gpt4 book ai didi

meteor - 使用Iron Router进行waitOn订阅,该订阅取决于来自另一个订阅的文档中的数据

转载 作者:行者123 更新时间:2023-12-04 03:58:07 24 4
gpt4 key购买 nike

我在配置路由的waitOn部分时遇到麻烦,其中订阅的参数之一由来自不同订阅的doc中的值确定。

进行中的收藏是候选人和访谈。面试只有一名候选人。以下是一些示例数据:

candidate = {
_id: 1
firstName: 'Some',
lastName: 'Developer'
//other props
};

interview = {
_id: 1,
candidateId: 1
//other props
};

路由配置如下。

this.route('conductInterview', {
path: '/interviews/:_id/conduct', //:_id is the interviewId
waitOn: function () {
return [
Meteor.subscribe('allUsers'),
Meteor.subscribe('singleInterview', this.params._id),
// don't know the candidateId to lookup because it's stored
// in the interview doc
Meteor.subscribe('singleCandidate', ???),
Meteor.subscribe('questions'),
Meteor.subscribe('allUsers')
];
},
data: function () {
var interview = Interviews.findOne(this.params._id);
return {
interview: interview,
candidate: Candidates.findOne(interview.candidateId);
};
}
});

问题是我没有identtId传递给 singleCandidate方法中的 waitOn订阅,因为它存储在面试文档中。

我想到了两个可能的解决方案,但我真的不喜欢它们中的任何一个。首先是将路由更改为 /interviews/:_id/:candidateId/conduct。第二种是对数据进行非规范化处理,并将应聘者的信息存储在面试文档中。

除了这两个以外,还有其他选择可以实现此目的吗?

最佳答案

您可以更改您的发布函数单个候选者,以将visitviewId作为参数而不是候选ID作为参数,并传递this.params._id

关于meteor - 使用Iron Router进行waitOn订阅,该订阅取决于来自另一个订阅的文档中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com