使用 publish composite 在 meteor angular 中加入查询
Join queries in meteor angular using publish composite
我有两个 Collections 类别 和 Feed.
类别
{
"_id": "ADFGFDF",
"title" : "title",
}
供稿
{
"_id": "DFSAHT",
"feeds" : "ds sdsd sds",
"categoryId" : "catId"
}
我需要得到这样的结果:
{
"_id": "ADFGFDF",
"title" : "title",
"categoryId" : "DFSAHT"
"category" : {
"_id": "DFSAHT",
"feeds" : "ds sdsd sds",
}
}
我尝试使用 publish-composite,这是我的代码。
服务器
Meteor.publishComposite('feedscateg', function () {
return {
find: function () {
return Category.find({});
},
children: [
{
find: function (cat) {
return Feeds.find({ categoryID: cat._id });
}
}
]
}
});
在客户端 Angular 我试过这个:
$scope.feeds = $meteor.collection(Category).subscribe('feedscateg');
我也对视图部分感到困惑。
publishComposite 不修改集合数据,它将单独加载 Feeds 和 Category。如果您想从客户端数据库 select 获取 Feed 项目的类别。
$scope.getFeedCategory = function (feedItem) {
Category.findOne({'_id': feedItem.categoryId});
};
我有两个 Collections 类别 和 Feed.
类别
{
"_id": "ADFGFDF",
"title" : "title",
}
供稿
{
"_id": "DFSAHT",
"feeds" : "ds sdsd sds",
"categoryId" : "catId"
}
我需要得到这样的结果:
{
"_id": "ADFGFDF",
"title" : "title",
"categoryId" : "DFSAHT"
"category" : {
"_id": "DFSAHT",
"feeds" : "ds sdsd sds",
}
}
我尝试使用 publish-composite,这是我的代码。
服务器
Meteor.publishComposite('feedscateg', function () {
return {
find: function () {
return Category.find({});
},
children: [
{
find: function (cat) {
return Feeds.find({ categoryID: cat._id });
}
}
]
}
});
在客户端 Angular 我试过这个:
$scope.feeds = $meteor.collection(Category).subscribe('feedscateg');
我也对视图部分感到困惑。
publishComposite 不修改集合数据,它将单独加载 Feeds 和 Category。如果您想从客户端数据库 select 获取 Feed 项目的类别。
$scope.getFeedCategory = function (feedItem) {
Category.findOne({'_id': feedItem.categoryId});
};