У меня есть следующие документы:MongoDB сортировка по детям
{'_id':'id1','parentId':"",'count':1}
{'_id':'id2','parentId':"",'count':12}
{'_id':'id3','parentId':"",'count':16}
{'_id':'id4','parentId':"id2",'count':3}
{'_id':'id5','parentId':"id2",'count':3}
{'_id':'id6','parentId':"id1",'count':0
{'_id':'id7','parentId':"id1",'count':122}
ParentID с «» поле представляет собой родительский узел. Если присутствует parentId, это означает дочерний узел родительского идентификатора. Мне нужен запрос, который будет сортировать по «count» (убыв), но я хочу, чтобы он возвращал курсор parentId. Однако, если подсчет количества детей является самым высоким, это означает, что наибольшее значение в целом и родительский элемент этого ребенка должны быть возвращены.
Результат выполнения запроса на приведенных выше данных следует предоставить мне документы в следующем порядке: ID1, id3, id2
Я думал о запуске в трубопровод агрегации. На первом этапе я могу сделать сортировку по счету. Однако я не знаю, как я могу получить запрос, возвращающий ParentID для ребенка ...
вы можете показать свой выходной документ? –
Привет Shaishab, я хочу, чтобы результат был таким же, как и вышеприведенные документы. Это все проецируется. То есть Id1, содержащий все свои поля, не имеет ничего общего с дочерними элементами, хотя дети затронули запрос –
, так что же такое позиция * id7 *? –