Я строй системы на основе веб для моей организации, используя Монго DB, я прошел через документ, представленное Монго дб и пришел к следующему выводу:Совокупность, поиск, групповое замешательство?
find: Cannot pull data from sub array.
group: Cannot work in sharded environment.
aggregate:Best for sub arrays, but has performance issue when data set is large.
Map Reduce : Too risky to write map and reduce function.
Так что, если кто-то может помочь мне с лучший подход к работе с документом sub-массива, в производственной среде с осколочным кластером.
Пример:
{"testdata":{"studdet":[{"id","name":"xxxx","marks",80}.....]}}
теперь мой "studdet" огромная коллекция из более чем 1000, строки для каждого документа,
Итак, пусть мой запрос:
"Find all the "name" from "studdet" where marks is greater than 80"
его определенно будет представлять собой совокупный запрос, так что в этом случае можно пойти с совокупностью, потому что «find» не может этого сделать, а «группа» не будет работать в закрытой среде, поэтому, если я перейду с совокупностью, что будет влиять на производительность, мне нужно вызвать этот запрос большую часть времени.
Я думаю, вы должны использовать сочетание как найти и агрегат в зависимости от использования. –
Возможно, вам нужно структурировать свои документы по-другому или просто не знаете, какую команду запроса использовать и как. Трудно ответить на ваш вопрос, если вы не дадите конкретный пример некоторых документов и какую информацию вы хотите извлечь из них. – Philipp
@Philip не о каком-либо конкретном примере, и я очень хорошо знаю, какой запрос использовать, где, но поскольку документ говорит, что раскрутка - это проблема, когда содержимое массива огромно, поэтому он не может знать, насколько это возможно. совокупность, поэтому мой вопрос заключается не в том, как использовать агрегат и получить результат, но насколько это возможно в рабочей среде, если я пойду с ним, находка надежна, но он не может вытащить данные из вспомогательного массива –