Template.admin.eventsコードで1つのドキュメントを検索しようとしています。私はフォームとonClickを持っています。入力されたObjectIDのIDがコレクションの既存のドキュメントであるかどうかを確認し、その結果をフェッチしてテンプレートに表示するかどうかを確認します。テンプレートイベントで1つのドキュメントを見つける適切な方法はありますか?
クライアント上のマイイベントコード:私のオブジェAPIで
Template.admin.events({
'click #btnAjouterObjet'(event) {
let objetIdInput = $('#object_id').val().toString();
Meteor.subscribe('objetsFindOne', objetIdInput, {
onReady: function() {
let obj = Objets.findOne();
if (obj) {
console.log("found");
console.log(obj);
objetsArr.push(objetIdInput);
}
else {
console.log("not found");
console.log(obj);
}
}
});
}
});
:私は確認していると私のobjetIdInputは常にクリックで変更
Meteor.publish('objetsFindOne', function objetsFindOne(param_id){
return Objets.find({_id : param_id});
})
異なるIDが入力されたが、常にサブスクライブしています入力された最初のidを返します。それ以外の場合はundefinedを返すので、onReadyも追加しました。
私はMeteorを初めて使用しています。また、すべてのコレクションを購読してクライアントで検索しようとしましたが、私のコレクションには約22000個のドキュメントがあるとは思わないと思います。
をsubscribtionは多少時間がかかりますが、私は把握することはできませんコードの残りの部分を実行する前に準備が整うのを待つ方法。 –