2013-11-14 1 views
0

У меня есть/Монго объект Node Java, который может содержать другой узел и т.д. Так моя структура в Монго является:морфий/Монго выполнение запроса на вложенную структуру дерева

как Document-> node-> node-> ...

Узел имеет атрибут имени, и я хочу найти все документы, у которых есть узел (включая любые вложенные узлы), который содержит определенное имя.

я использую точечную нотацию, чтобы сделать что-то вроде:

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

, но это работает только, если родительский узел имеет совпадающее имя .. что мне нужно, это какое-то шаблон для поиска любого имени (документ .node.node .... name и т. д.), который находится в объекте Node.

Спасибо за помощь!

ответ

1

В MongoDB нет поиска подстановочных знаков.

Вам нужно будет сохранить Node как-то сглаженное для выполнения этого запроса. Например, вы можете хранить иерархию (родительскую цепочку) в каждом Node, чтобы вы могли воссоздать иерархию с кодом вашего клиентского приложения.

Наиболее часто используемые структуры хорошо документированы here.

Смежные вопросы