私のコードでは、書籍に関する情報を格納するコレクションにアクセスしようとしています。私は各書籍のIDだけを格納する配列をループしています。それから私は、各書籍テンプレートヘルパーから複数回アクセスできるように、JSONドキュメントをどこに保存できますか?
Template.myBorrows.helpers({
storeInSession:function(ilendbooksId) {
console.log("storeInSession is called");
var currentBorrowBook = Books.findOne({_id: ilendbooksId});
Session.setAuth('currentBorrowBook' , currentBorrowBook);
},
getAuthor: function() {
var currentBorrowBook = Session.get('currentBorrowBook');
return currentBorrowBook.ItemAttributes[0].Author[0];
},
});
私は本コレクション内の書籍の_idによるブック文書を照会していますための完全な情報を格納するブックと呼ばれるコレクションから本を照会し、そのIDを使用しています。それから私はそれをセッションに保存してから、適切なメソッドを呼び出して情報を取得します。唯一の問題は、書籍の配列でこれを行う必要があることです。そのため、セッションの前の文書が上書きされ、ページ上のすべてのデータが最新のセッション文書に変更されるたびに、各書籍のドキュメントをどこにどこに保存し、最新のセッションドキュメントに更新せずに正しい情報が表示されるようにすることができますか?
あなたは人生を不必要に複雑にしています。メテオの火災ベースのチュートリアルをやったことがありますか?ヘルパーでセッション変数を設定しないでください。代わりにイベントハンドラで行います。コレクションのコレクションをループしている場合は、それぞれを呼び出す必要はなく、ヘルパーを必要とせずにテンプレート内の各ブックのプロパティに直接アクセスすることもできます。 –
申し訳ありませんが、私はより明確にすべきでした。もし私が各本についての十分な情報を保存しているコレクションをループしていたら、はい、私はそれぞれのプロパティにアクセスすることができます。実際には、各書籍のIDだけを格納する配列をループしています。次に、その書籍を検索するためにそのIDを使用して、各書籍の完全な情報を保存しているBooksというコレクションから検索します。 – Zorrow2008