我有这种感觉,通过使用 mongo 的服务器端 javascript 功能,mongoDB 也可以用作事件触发系统。
例如
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:46 GMT+0530 (IST)消息 审核:1 2013 年 3 月 3 日星期日 16:29:47 GMT+0530 (IST) 消息 审计:2 2013 年 3 月 3 日星期日 16:29:48 GMT+0530 (IST) 消息
没有探索这一切的可能性,但只是这个想法带来了以下 1) 触发事件系统,特定集合充当延迟命令队列。2)延迟/定时持久性
这个还有什么用处吗?