私は、mongoDBがmongoのサーバー側のjavascript機能を使用することでイベントトリガーシステムとしても使用できると感じています。
例えば
db.system.js.save(
{
_id : "timer",
value : function timer(interval,times,fun){ var s=new Date(); var e=new Date(); var cnt=0; while(cnt<times){ print("audit: "+cnt); eval(fun()); cnt++; s=new Date(); while(e-s < interval){e=new Date();}}};
}
db.testcol.save({a:timer(1000,3,function(){print(Date() + "Message");})})
出力=========
監査:0 2013年3月3日日曜日16:29:46GMT+ 0530(IST)メッセージ 監査:1 2013年3月3日日曜日16:29:47GMT+ 0530(IST)メッセージ 監査:2 2013年3月3日日曜日16:29:48GMT+ 0530(IST)メッセージ
これのすべての可能性を調査したわけではありませんが、この考えだけで次のことがもたらされます。1)特定のコレクションが遅延コマンドキューとして機能するトリガーイベントシステム。2)遅延/時限持続性
これのこれ以上の使用?