Агрегация и поиск / обновление в MongoDB - PullRequest
0 голосов
/ 19 сентября 2019

Я учусь использовать MongoDB в качестве бэкэнда для приложения, которое требует, чтобы пользователь выбирал данные с определенной частотой с сервера, и заметил, что структура агрегации кажется довольно мощной.

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

Какой смысл иметь эти разные системы?Один быстрее другого?Почему бы просто не иметь .aggregate() конвейерную среду самостоятельно?

И самое главное, когда я могу знать, когда использовать агрегатный конвейер, а когда использовать более простые функции .find() и .update()?

Спасибо за помощь в понимании всего этого!

1 Ответ

0 голосов
/ 19 сентября 2019

Найти

1) Метод извлечения или получения данных из базы данных MongoDB осуществляется с помощью запросов.

2) При выполнении операции запроса,можно также использовать критерии или условия, которые можно использовать для извлечения определенных данных из базы данных.

3) MongoDB предоставляет функцию db.collection.find (), которая используется для извлечения документов из базы данных MongoDB.

Использование : - Для получения результата без особых изменений

Пример Mysql: - Select * from users where first_name= "John"

Агрегация

1) Операции агрегации обрабатывают записи данных и возвращают вычисленные результаты.

2) Операции агрегации группируют значения из нескольких документов вместе и могут выполнять различные операции над сгруппированными данными для возврата одного результата.

3) Агрегации представляют собой набор функций, которые позволяютманипулировать данными, возвращаемыми из запроса MongoDB.

4) Агрегирующая функция группирует записи в коллекции и может использоваться для получения общего количества (суммы), среднего, минимального, максимального и т. д. извыбранная группа.

Я знаю, что все точки приведут вас к выводу только об одной точке, которая является обработкой данных и возвращением вычисленных результатов. Ооо, нет, это тоже идет к первой точке ..

Использование: - Манипулировать данными в соответствии с требованием номинала, использовать Aggregate (сумма, число, среднее, группа и т. Д.), Например, MySQL, пример Mysql:- SELECT user.*, count(*) FROM orders GROUP BY role; (or use joins)

Обновление

На ваш вопрос поиск и обновление не проще .find () используется для извлечения, а функции .update () используются для манипуляции /обновление / изменение данных для будущего.

использование: - для обновления или изменения данных (т. е. когда пользователь хочет изменить имя пользователя с «Джон» на «Джек») Пример Mysql: - UPDATE users SET first_name = 'Jack' WHERE first_name = 'John';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...