【发布时间】:2018-03-11 22:08:57
【问题描述】:
我正在尝试连接两个收藏:书籍和诗歌。一本书可以有几首诗。我必须得到一本包含所有相关诗歌的书。
我希望结果将包含“poems_join”字段,其中包含已连接的集合,但“poems_join”不存在。没有显示错误。
export default withTracker(props => {
const bookSubscription = Meteor.subscribe('mybooks');
return {
editedBook: Books.findOne({ _id: props.editBookId },
{
$lookup:
{
from: 'poems',
localField: 'poems.id',
foreignField: '_id',
as: 'poems_join'
}
}
),
bookLoaded: bookSubscription.ready()
};
})(BookEditor);
发布代码在这里:
Meteor.publish('mybooks', function (bookId) {
return Books.find({ userId: this.userId, _id: bookId },
{
$lookup:
{
from: 'poems',
localField: 'poems.id',
foreignField: '_id',
as: 'poems_join'
}
});
});
我在这里做错了什么? 谢谢!
【问题讨论】:
-
你能显示你的出版代码吗?这就是连接应该发生的地方
-
您好 Fred,我刚刚添加了发布代码。我会很感激你的回答。谢谢!