Najlepszy samouczek polimeryzacji MongoDB W 2024 r. W tym samouczku możesz dowiedzieć się Metoda łączna (),Koncepcja rurociągu,
MongoDB polimeryzowany (kruszywo), głównie za przetwarzanie danych (takich jak średnimi statystycznymi, sum, itp) i zwraca wynik obliczonych danych. Nieco podobna liczba instrukcji SQL (*).
Sposób polimeryzacji MongoDB wykorzystuje agregat ().
Podstawowa metoda łączna składni () jest następujący:
>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
Gromadzenie danych jest następujący:
{ _id: ObjectId(7df78ad8902c) title: 'MongoDB Overview', description: 'MongoDB is no sql database', by_user: 'w3cschool.cc', url: '', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }, { _id: ObjectId(7df78ad8902d) title: 'NoSQL Overview', description: 'No sql database is very fast', by_user: 'w3cschool.cc', url: '', tags: ['mongodb', 'database', 'NoSQL'], likes: 10 }, { _id: ObjectId(7df78ad8902e) title: 'Neo4j Overview', description: 'Neo4j is no sql database', by_user: 'Neo4j', url: 'http://www.neo4j.com', tags: ['neo4j', 'database', 'NoSQL'], likes: 750 },
Teraz ustawiony powyżej jest obliczany dla każdej liczby artykułów napisany przez autorów za pomocą agregatu () oblicza się następująco:
> db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}]) { "result" : [ { "_id" : "w3cschool.cc", "num_tutorial" : 2 }, { "_id" : "Neo4j", "num_tutorial" : 1 } ], "ok" : 1 } >
Podobne przykłady Powyższe oświadczenie SQL: select by_user, count (*) z grupy Mycol przez by_user
W powyższym przykładzie, by_user pole po polu do grupowania danych i oblicza sumę samej wartości by_user dziedzinie.
Poniższa tabela przedstawia niektóre wyrażenia agregacji:
wyrażenie | opis | Przykłady |
---|---|---|
$ Sum | Oblicz sumę. | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user" num_tutorial: {$ suma: "$ lubi"}}}]) |
$ Średnia | Obliczaniu średniej | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user" num_tutorial: {$ avg: "$ lubi"}}}]) |
$ Min | Pobiera zbiór wszystkich dokumentów odpowiadają wartości minimum. | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user" num_tutorial: {$ min: "$ lubi"}}}]) |
$ Max | Pobiera kolekcja wszystkich dokumentów odpowiadających maksymalnej wartości. | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user" num_tutorial: {$ max: "$ lubi"}}}]) |
$ push | W wynikowym dokumencie wstawić wartość do tablicy. | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user", url: {$ Push: "$ url"}}}]) |
$ AddToSet | W wynikowym dokumencie wstawić wartości do tablicy, ale nie tworzy kopii. | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user", url: {$ addToSet: "$ url"}}}]) |
$ Pierwszy | Jako pierwszy dane dokumentu zgodnie z dokumentami zasobów sortowania. | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user" first_url: {$ pierwsza: "$ url"}}}]) |
$ Ostatni | Pobiera ostatnich danych dokumentu zgodnie z dokumentami zasobów sortowania | db.mycol.aggregate ([{$ Grupa: {_id: "$ by_user" last_url: {$ ostatnia: "$ url"}}}]) |
Rury w Unix i Linux w ogóle służy do wyjścia bieżącego polecenia jako parametr do następnego polecenia.
MongoDB MongoDB rury polimerowe dokument w rurze po przetworzonego rezultacie do następnego przetwarzania potokowego. eksploatacji rurociągu można powtórzyć.
Wyrażenie: wejściowe i wyjściowe przetwarzania dokumentów. Wyrażenia są bezpaństwowcem, może być używany tylko w celu obliczenia bieżącej rurociąg dokumentów zbiorczych, nie może uporać się z innymi dokumentami.
Poniżej przedstawiamy ramy agregacji powszechnie używany w kilku operacjach:
1, $ przykłady projektów
db.article.aggregate( { $project : { title : 1 , author : 1 , }} );
W tym przypadku wyniki byłyby tylko tam _id, tilte i autor trzech pól, terenowych domyślny _id ma być włączone, jeśli zamówienie nie zawiera _id, czy może to być:
db.article.aggregate( { $project : { _id : 0 , title : 1 , author : 1 }});
2. $ przykłady mecz
db.articles.aggregate( [ { $match : { score : { $gt : 70, $lte : 90 } } }, { $group: { _id: null, count: { $sum: 1 } } } ] );
$ Dopasowania jest używany do uzyskania wynik przekracza 70 jest mniejsza niż lub równa 90 płyt, a następnie rejestrów dopasowania do następnego etapu operatora rurociągu $ grupy do przetwarzania.
3. $ pominąć instancji
db.article.aggregate( { $skip : 5 });
Po operatora rurociągu przetwarzania $ pomijaniem, pierwsze pięć dokumenty są "filtrowane" na zewnątrz.