What you are thinking of sounds a lot like triggers. MongoDB does not have any support for triggers, however some people have "rolled their own" using some tricks. The key here is the oplog.
When you run MongoDB in a Replica Set, all of the MongoDB actions are logged to an operations log (known as the oplog). The oplog is basically just a running list of the modifications made to the data. Replicas Sets function by listening to changes on this oplog and then applying the changes locally.
I cannot detail the whole process here, it is several pages of documentation, but the tools you need are available.
You will also want to leverage tailable cursors. These will provide you with a way to listen for changes instead of polling for them. Note that replication uses tailable cursors, so this is a supported feature.
You can start the server with the --replSet option and it will create / populate the oplog. Even without the secondary. This is definitely the only way to "listen" to changes in the DB.
I know the question is a bit older, but take a look at rethinkdb.com
Cooooool! That's really what I want. And I found a library named 'mongo-oplog' on npm. So happy~