私のラップトップにはnodejsがありませんので、テストできないためいくつかのエラーが発生する可能性があります。
まず、パブリケーションファイル(例:server \ publications \ borrowPub.js)を作成します。ファイル内にパブリケーションメソッドを作成する必要があります。ここでのロジックは単純で、ルータで、最初のアイテムIDの配列を取得し、その後Mongo select $in.
Meteor.publish('queryBorrowerTypeDesktop', function(criteria)
{
var itemArr = ItemList.find({ type : 'Desktop' },
{ fields: {'_id':1 } });
if(itemArr){
//itemArr found, so do a select in using the array of item id we retrieved earlier
var borrowers = BorrowerDetails.find({ key: { $in: itemArr } });
return borrowers;
}else{
//found nothing- so return nothing
return []
}
});
第二に、それをパラメータとして渡します
Router.route('/test', {
name: 'test',
action: function()
{
//change accordingly.
},
waitOn: function()
{//subscribe from publisher that we just created...
return [
Meteor.subscribe('queryBorrowerTypeDesktop')
];
},
data: function() {
if(Meteor.userId())
{
// also include the sorting and limit so your page will not crash. change accordingly.
return {
borrowerDetails: BorrowerDetails.find({},{sort: {name: -1}, limit: 30}),
}
}
}
});
注意をそのデータでは、BorrowerDetails.find()あなたのブラウザのMiniMongoにキャッシュされている購読中にフィルタリングされているため、何かでフィルタリングする必要はありません。
NOSQLデータベースを使用する場合、参加するとは思わないでください。代わりに2回選択します。 – Rudy
サーあなたは簡単に説明できますか? :) – Vynterest
私は分を与えます... – Rudy