given the fact that you're only using a tiny fraction of mongoid, wouldn't it be a good idea to drop down to the mongo-driver and implement the two or three methods you need directly on the driver? If you only want a read only/search-ui, you will probably end up with some map/reduce-functions (which also makes it easier to reuse these in java, if need be) for querying and some simple methods for traversing your structure.
That being said, there is mongoid_tree (
https://github.com/benedikt/mongoid-tree), which gives you a tree-structure and can probably be tweaked to accomodate your java-generated structure (or the other way around, whichever fits better) - even if you do not use it, it gives you a good example of how trees can be modelled&mapped in mongoid.
PS: And I won't even get into the whys of having two separate apps in two different languages for write&read....