morphia / mongo查询嵌套树结构

时间:2013-11-14 00:15:30

标签: mongodb morphia

我有一个Java / mongo对象节点,可以包含另一个节点等。 所以我在mongo的结构是:

like Document-> Node-> Node-> ...

Node有一个name属性,我想查找所有包含某个名称的节点(包括任何嵌套节点)的文档。

我使用点符号来执行以下操作:

query.field("document.node.name").equal(name)

但只有在父节点具有匹配名称时才有效..我需要的是某种通配符来搜索Node对象中的任何名称(document.node.node .... name等)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

MongoDB中没有通配符搜索。

您需要以某种方式存储Node以执行该查询。例如,您可以在每个Node中存储层次结构(父链),以便您可以使用客户端应用程序代码重新创建层次结构。

最常用的结构有很好的记录here