2 つのコレクションがArticles
ありCategories
、それらのドキュメントがこのようなものであるとしましょう
論文
{
"_id": "blabla",
"title" : "title",
"description" : "description",
"categoryId" : "catId"
}
カテゴリー
{
"_id": "catId",
"title" : "category",
"description" : "description"
}
このようにするためにサブスクリプションを作成したい
{
"_id": "blabla",
"title" : "title",
"description" : "description",
"category" : {
"title" : "category",
"description" : "description"
}
}
publish-compositeを使用してみましたが、これが私のコードです。 サーバ
Meteor.publishComposite('articles', {
find: function() {
return Articles.find({}, { sort: {}, limit: 10 });
},
children: [
{
find: function(article) {
return Categories.findOne({ _id: article.categoryId });
}
}
]
});
クライアントのangularjsコントローラーは
angular.module("dee").controller("ArticlesListCtrl", ['$scope', '$meteor', function($scope, $meteor){
$scope.articles = $meteor.collection(Articles).subscribe('articles');
}]);
そしてビューは
{{ articles | json }}
問題は、関係なしで記事コレクションのみを印刷することです。