2

Meteorのチャットアプリケーションにアクティブ/非アクティブインジケーターを構築しようとしています。そのためには、すべてのクライアントでの各ユーザーの最新のアクティビティの時間を追跡する必要があります。ユーザーがメッセージを送信するたびに、この行は次のように呼び出されます。

People.update({ name: login }, { $set: { activity: new Date() }});

コマンドを使用すると、データベース内のデータが変化しているのを確認できますmeteor mongo。ファイルの別の部分に、次のようなコードがあります。

Template.user_listing.people = function () {
  return People.find();
}

私のコードでは、この関数は、アイテムがPeopleコレクションに追加または削除されたときにのみ呼び出されます。最初のコード例であるPeople.update(...)、はリアクションをトリガーしません。私はそれが必要であるという印象を受けました。私は何が間違っているのですか?

4

2 に答える 2

0

質問や回答では、xや などの変数を避けることをお勧めします。y

xに改名user_listing。こんな感じじゃないかな。

Template.user_listing.people = function () {
  return People.find();
}

#eachこれで、テンプレートに渡すことができるデータベース カーソルができました。

テンプレはこんな感じ

<template name="user_listing">
  {{#each people}}
      Who: {{name}}
      Recent activity: {{activity}}
  {{/each}}
</template>

あなたが持っていると仮定すると、

People = new Meteor.Collection('people'); // or whatever your collection name is

http://docs.meteor.com/#templatesに例があります。それと確認。

于 2012-08-26T21:17:27.457 に答える