mongodb コレクションのレコードを表示するページがあるとします。
var item = Items.findOne({name: documentName});
Session.set('item', item);
これにより、コレクションの準備が整い、結果が見つかったときに、テンプレートがアイテムで更新されます。ここで、Session.get('item') が未定義である間、データがロードされ、ロード中のグラフィックまたはメッセージがユーザーに表示されると仮定できます。ただし、ドキュメントが存在しない場合は、読み込み中のメッセージをユーザーに無期限に表示したくないので、「見つかりません」というメッセージを表示したいと思います。レコードがまったく存在しないかどうかを判断してユーザーに通知するにはどうすればよいですか?
私は考えました:
- アイテム セッション変数を「loaded」などに設定する
- その値がある間に読み込みメッセージを表示する
- コレクションが未定義またはドキュメントを返すと、アイテムまたは「見つかりません」というメッセージが表示されます。
ただし、コレクションが使用可能になるまでクエリはすぐに未定義を返し、クエリが完了しても値がまだ未定義の場合、変更はなく、セッション変数は更新されないため、これは機能しません。
目の前にあるトリックを見逃しているような気がします!誰でもアイデアはありますか?