我似乎无法在此找到一个可靠的答案。对于Ravendb来说,我是新手,所以任何帮助都会受到高度赞赏。我期待建立一个递归菜单。最好的方法是什么?我查看了这个Feed RavenDb - Recursive queries/indexes, for Hierarchical Document,但无法找到“推荐”的解决方案。我是否只将所有子文档存储为父文档中的非规范化数据?我在考虑存储文档/页面的id,以及文档/页面'slug'。这似乎是可行的,因为这是我在构建菜单时需要的所有信息,但如果页面标题发生变化会发生什么?然后我需要更改页面的slug,这意味着我必须更新页面父页面。如果页面被删除会发生什么?我只是申请补丁吗?这种方法与使用实时投影有何不同?如果有人可能使用Ravendb构建了一个层次树应用程序,模仿“最佳实践”,我将永远感激。
由于
泰龙
答案 0 :(得分:0)
您是如何实施菜单的?您可能需要查看此Tree implementation作为参考。
我首先将整个Menu(您的树结构)数据作为单个文档存储在RavenDB中。
RavenDB的客户端在缓存方面非常出色,所以即使你最终得到一个不应该是导航的大文档,因为它总是在内存中。