2016-06-15 23 views
0

私はKinveyで 'Events'というコレクションを持っており、各イベントには現在の日付と比較する文字列形式の日付があります。たとえば、「Party」というイベントを作成し、startDateとendDate(iOS App)を持っています。カスタムエンドポイントで、この間隔に現在ないイベントを削除します。Kinvey Business Logicで古いオブジェクトをコレクションから削除するにはどうすればよいですか?

endDateは次のようになります。 "2016-06-15 01:39:26 +0000" modules.moment()を使用して現在の日付を取得し、endDateと比較しようとしました。 modules.moment()がendDateより大きい場合、イベントはdbから削除されます。

イベントが終了したかどうかを常に確認するため、このメソッドは常にスケジュールされた状態で実行されるため、カスタムEndPointが必要です。私のjavascriptに関する知識は本当に貧弱で、多くの例を試しましたが、私はその解決策にも近くないようです。ここで

答えて

1

サンドール、

は、あなたが始めるのに役立つかもしれないカスタムエンドポイントのテンプレートコードです:

function onRequest(request, response, modules) { 
    var logger = modules.logger; 
    var events = modules.collectionAccess.collection('Events'); 
    var moment = modules.moment(); 

    events.remove({"endDate" : {"$lt": moment.toISOString()}}, 
     function(err,res) 
     { 
      if(err) 
       { 
       logger.error("Error " + err); 
       return response.error(err); 
       } 
       else 
       { 
       return response.complete(200); 
       } 
    }); 
} 

あなたは徹底的にこのビジネスロジックをテストしたら、あなたはその後、「スケジュール」を使用して、それをスケジュールすることができますKinvey Dashboardのこのカスタムエンドポイントのオプション。

おかげで、 Pranav Kinveyサポート

+1

私はKinveyが提供する文書を読んで、私の問題を解決することになりました。具体的な例はありませんでしたが、私はそれを適用することができました。ありがとう、私のために働いた、それは私が実装したものよりきれいなコードでした。どうも! :) –

関連する問題