FWIW, I've recently been implementing the MongoDB query language as well:
https://github.com/zumero/Elmo
In F#. Not even remotely close to usable or production-ready.
The approach here is somewhat different, as this implementation is built on SQLite, which it treats as a simple key-value storage layer.