Комплексный этап MongoDB с разными результатами

Я пытаюсь найти язык запросов для нашей команды разработчиков, чтобы они могли создавать "красные флажки" на основе сложных запросов коллекции. так как они не знакомы с кодом, я попытался посмотреть на решение JsonIQ, но кажется, что оно не поддерживается и не может найти простое решение для MongoDB.

Так они простая альтернатива? Может ли запрос "этапы" монго выполнить что-то вроде следующего примера (если да, то как?)

itemCount = number of total contributionItems if itemCount>5 foreach item if (number of items with the same party)/itemCount>0.8 save that party as party1 PH1=party1 for each contributionItem if (contributionItem.party != party1) add item to array. PH2=array[item.party]

1 ответ

JSONiq, как язык, жив и поддерживается. Спецификация не обновляется часто, потому что она стабильна. Существует несколько доступных реализаций, документированных на языковом веб-сайте, и они могут изменяться со временем (хотя я не уверен, что какая-либо из них в настоящее время конкретно поддерживает MongoDB).

Насколько я понимаю, версия вашего запроса в формате JSONiq будет выглядеть так:

let $contribution-items := collection("contribution-items")
let $count := count($contribution-items)
where $count gt 5
let $party1 :=
    for $item in $contribution-items
    group by $party := $item.party
    where count($item) gt (0.8 * $count)
    return $party
where exists($party1)
return [ $contribution-items[$$.party ne $party1] ]
Другие вопросы по тегам