1

commentsという名前の埋め込み文書でユーザーのコメントを投稿すると、私はpostというコレクションを持っています。今問題になっています。すべて2 hoursのようにYou have 12 new comments on this postownerです。新しい文書を挿入して特定のイベントを実行する

新しいコメントがポストに反している場合には、その後、2時間後に私はあなたが私のスキーマで見ることができるこのYou have 3 new comments on this post

ようになってますseen後にそれらのcomments.Nowコメントに今プッシュ通知をクリックした後に、それは私をリダイレクト私は任意の助けをいただければ幸いです

私はプッシュ通知を送信するために特定し、私は、スキーマにいくつかのkeyを追加し、新たなcomments.Shouldの実績を維持し、cron jobsを書くために、このpush notification time basedとどのように管理する方法fields.Problemがあるtotal_commentsを維持すること

ここでは3210

私の記録は、私が推測する新しいコメントをカウントするには、2つの方法があり

{ 
"_id" : ObjectId("57b3aa2db630347c1f9308b4"), 
    "updated" : ISODate("2016-08-30T05:05:18.301Z"), 
    "created" : ISODate("2016-08-17T00:05:01.354Z"), 
    "createdTimeStamp" : 1471392301, 
    "likes" : [], 
    "comments" : [ 
     { 
      "created" : 1471935213, 
      "user" : ObjectId("57b33c810a56a0a81a9b50b7"), 
      "text" : "next party", 
      "_id" : ObjectId("57bbf2edee7a923c156c2f08") 
     }, 
     { 
      "created" : 1471935612, 
      "user" : ObjectId("57b33c810a56a0a81a9b50b7"), 
      "text" : "its new party ", 
      "_id" : ObjectId("57bbf47cddd701302ba14fca") 
     }, 
     { 
      "created" : 1471935717, 
      "user" : ObjectId("57b33c810a56a0a81a9b50b7"), 
      "text" : "its new again", 
      "_id" : ObjectId("57bbf4e5f934024c275f4f08") 
     }, 

    ], 
    "total_comments" : 3, 
    "consumer_id" : ObjectId("57b33c810a56a0a81a9b50b7") // Original User that receive notification 
} 

答えて

0

です。

まず:あなたのユーザー・スキーマキーlastVisitに保存

。 次に、db.posts.count({'comments.created': { $gte: $$$YOUR lastVisit$$$ }});

comments.createdのようにする必要があります。

第二:

はコメントでキーread: booleanを保存すると、デフォルトではfalse。 通知を読むたびに、この値がtrueに変更されます。その後、

と私はそれはそれを識別する方法を、キー `lastvisit`日付を追加した場合、私はcron tasksetInterval

+0

の間で最良の選択を知らないこのdb.posts.count({'comments.read': false})

のような新しいコメントを数えますコメントが追加されたときに私はtotal_commentsを維持しています。そして、あなたの投稿に12の新しいコメントを送るたびに、2つの新しいコメントが追加され、 12の新しいコメント 'それは' 2新しいコメント 'であるべきである –

+0

希望が完了しました、これはあなたを助けます:) –

+0

私はあなたの解決策を理解しています。すべてのユーザーのために、私は 'cron jobs'を実行して' comments.read'をチェックしてプッシュ通知を送信する必要がありますか? 'socket'はパフォーマンスを低下させる可能性があります –

関連する問題