Great point about the device clock!
One note on change streams. Database triggers (as opposed to scheduled triggers) are built on change streams. Change streams are awesome (here is a blog post I wrote about change streams in Node.js: Change Streams & Triggers with Node.js Tutorial | MongoDB), but I don’t know of a way to do anything scheduled with a change stream. Change streams watch for changes in your database and allow you to program actions based on those changes.