Giving the fact that document in a context of a tree seems for linear searches (the document with the lower Price from this node to inside) materialized paths seems to me the best+simplest way to achieve this linear goal
Will be key, in that sense, to convert in atomic something like:
db.nodes.remove({'Path': {$regex: '^Path:to:the:node'}}) to remove a node and its childs
and
db.nodes.update({'Path': {%regex: '^Path:to:the:node'}}, {'Path' {$replace: {'^Path:to:the:node', 'New:path'}}) to rename a node and put the new path to all its childs
Perhaps the syntax needs to be redefined
This two operations are so trivial but so crucial in the sense of the tree that seems pretty interessant as future features
And my intuition says will not be so much painful to implement for the size (so big for me) of the win you obtain
Hope you share my point and decide to implement it
Thanks!