我正在尝试使用DerbyJS、Racer和MongoDB开发一款日志查看器。这些日志将通过不同的来源连续插入到MongoDB数据库中,我的日志查看器应该能够自动更新用户界面上的日志表。
我想知道是否有原生的方法可以监听MongoDB事件,比如:
这些类似于Oracle DB触发器。
我想知道是否有原生的方法可以监听MongoDB事件,比如:
- On update
- On delete
这些类似于Oracle DB触发器。
oplog
的特殊集合来监听像insert
、update
和其他数据事件。您只需要在您的数据库实例上启用复制,可以使用mongod --master
或mongod --replicaSet
。oplog.$main
的名称找到该集合,如果您正在使用副本集,则将以oplog.rs
命名。local
数据库,这是维护oplogs的地方。skin = require "mongoskin"
db = skin.db "localhost:27017/local"
#//Cursor on oplog (a capped collection) which maintains a history for replication
#//oplog can be used only when replication is enabled
#//Use oplog.rs instead of oplog.$main if you are using replica set
oplog = db.collection "oplog.$main"
cursor = oplog.find({'ns': "icanvc.projects"},{tailable: yes, awaitData: yes})
#//Using cursor.nextObject will be slow
cursor.each (err, log)->
console.error err if err
console.log log if not err