Rumah pangkalan data tutorial mysql [教程]MongoDB 从入门到进阶 (aggregation数据库状态)

[教程]MongoDB 从入门到进阶 (aggregation数据库状态)

Jun 07, 2016 pm 05:56 PM
mongodb bermula Tutorial nombor Maju

下载地址: GitHub:https://github.com/magicdict/MagicMongoDBTool 在开始介绍这节之前,我来说说我开发这个工具的意义。 我不敢保证以后MongoDB可以大红大紫,也无法保证MongoDB以后会分享很多很多市场份额。 现在开发这个东西,一年后可能Mongo倒闭了,这

    下载地址:

     GitHub:  https://github.com/magicdict/MagicMongoDBTool

     在开始介绍这节之前,我来说说我开发这个工具的意义。

     我不敢保证以后MongoDB可以大红大紫,也无法保证MongoDB以后会分享很多很多市场份额。

     现在开发这个东西,一年后可能Mongo倒闭了,这个工具就是一个垃圾。一年后,Mongo修成正果,香港服务器,这个工具就是香饽饽。

     等所有人都觉得这个东西会火,你才去关注,开发工具,就晚了。花点业余时间,开发Mongo工具的同时,香港服务器租用,最主要去学习一下大数据的一些思想,例如副本,分片概念。

     还有就是阶层数据库的一些实现的方法。当然,由于3年前才开始从VB.NET转C#的,也希望通过多些编码将C#用身体记住。

[aggregation Framework]

例子1

aggregation Framework 是MongoDB的一个功能强大的统计框架,这里就演示一下这个框架的使用方法。

首先,我们新建一个aggregation数据集。然后再按照官方文档的样子,使用MongoCola插入一个文档。(将下面这段JSON直接粘贴到新建文档的窗体里面就可以了)

{ title : "this is my title" , author : "bob" , posted : new Date() , pageViews : 5 , tags : [ "fun" , "good" , "fun" ] , comments : [ { author :"joe" , text : "this is cool" } , { author :"sam" , text : "this is bad" } ], other : { foo : 5 } }

 

1.$project

这个操作符号,可以用来做Select 的操作。用来指定显示的列。

{ $project : { title : 1 , author : 1 }}

这里表示我们只是需要title和author列的信息。

这里的参数1:表示 0:非表示。 _id是一个默认的表示项目,我们可以通过将_id设置为0,告诉系统不表示这个项目。

{ $project : { _id : 0 , title : 1 , author : 1 }}

当然,你也可以新建一个字段,例如一个doctoredPageViews字段,这个字段是在原有字段的基础上加工而成的值。

就如 SQL中的,Select (pageViews + 10 As doctoredPageViews) from table

{ $project : { title : 1, doctoredPageViews : { $add:["$pageViews", 10] } }}

 当然你也可以重新命名列名

{ $project : { title : 1 , page_views : "$pageViews" , bar : "$other.foo" }}

最后你也可以通过Project操作符,来构建你想要的文档结果。下面这个例子里面的Status就是一个新建的子文档

{ $project : { title : 1 , stats : { pv : "$pageViews", foo : "$other.foo", dpv : { $add:["$pageViews", 10] } } }}

2$match这个操作符号,有点类似于Select文的Where条件。例如我们想寻找author是bob的记录:

{ $match : { author : "bob" } }

这个Aggregate框架里面的各种操作符号是可以任意组合的。我们可以既有match操作,又有project操作。

这里我们用工具将两种操作的条件分别加上。

注意:这里我们已经添加了2个条件了。第一个是match,第二个是project。

 

例子2

下面是例子的测试数据

{ "_id" : "1", "User" : "Tom", "Country" : "Finland", "Count" : 1 } { "_id" : "2", "User" : "Tom", "Country" : "Finland", "Count" : 3 } { "_id" : "3", "User" : "Tom", "Country" : "Finland", "Count" : 2 } { "_id" : "4", "User" : "Mary", "Country" : "Sweden", "Count" : 1 } { "_id" : "5", "User" : "Mary", "Country" : "Sweden", "Count" : 7 }

 

我们找一下是User是Tom,Count >= 2 的记录

{ $match : { User: "Tom", Count:{"$gte": 2} } }

4

关于操作符号: 

3 $Group

我们对于User进行Group操作,并且对于Count进行合计

注意,这里必须要有一个_id字段来表示Group的条件

{ $group : { _id : { "MyUser": "$User" } TotalCount : { $sum : "$Count" } } }

结果就是Mary的合计值是8,Tom则是6.

MyUser SUM(Count) AS TotalCount

 

我们再次添加一条记录

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Mar 06, 2025 pm 04:36 PM

Pada tahun 2025, platform perdagangan mata wang maya digital global sangat kompetitif. OKX menduduki tempat pertama dengan kekuatan teknikal yang kuat dan strategi operasi global, dan Binance mengikuti rapat dengan kecairan yang tinggi dan yuran yang rendah. Platform seperti Gate.io, Coinbase, dan Kraken berada di barisan hadapan dengan kelebihan masing -masing. Senarai ini meliputi platform perdagangan seperti Huobi, Kucoin, Bitfinex, Crypto.com dan Gemini, masing -masing dengan ciri -cirinya sendiri, tetapi pelaburan harus berhati -hati. Untuk memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran, pengalaman pengguna, pemilihan mata wang dan pematuhan peraturan, dan melabur secara rasional

10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas 10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas Mar 17, 2025 pm 05:57 PM

10 platform perdagangan mata wang digital teratas: 1. Okx, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8.

10 Pertukaran Teratas dalam Bulatan Mata Wang Pada 2025 Ranking Aplikasi Mata Wang Digital Terkini 10 Pertukaran Teratas dalam Bulatan Mata Wang Pada 2025 Ranking Aplikasi Mata Wang Digital Terkini Feb 27, 2025 pm 06:33 PM

Kedudukan Platform Perdagangan Mata Wang Maya Sepuluh Top (Terkini pada 2025): Binance: Pemimpin global, kecairan yang tinggi, dan peraturan telah menarik perhatian. OKX: Pangkalan pengguna yang besar, menyokong pelbagai mata wang, dan menyediakan perdagangan leverage. Gate.io: Pertukaran kanan, dengan pelbagai kaedah pembayaran mata wang fiat, menyediakan pelbagai pasangan perdagangan dan produk pelaburan. Bitget: Pertukaran derivatif, kecairan yang tinggi, yuran yang rendah. Huobi: Pertukaran lama yang menyokong pelbagai mata wang dan pasangan perdagangan. Coinbase: Pertukaran Amerika yang terkenal, yang dikawal ketat. Phemex dan sebagainya.

Bagaimana cara memindahkan duit syiling ke Binance? Bagaimana untuk menyebutkan aset crypto di HTX ke platform Binance? Bagaimana cara memindahkan duit syiling ke Binance? Bagaimana untuk menyebutkan aset crypto di HTX ke platform Binance? Mar 03, 2025 pm 08:51 PM

Huobi ke Panduan Pemindahan Binance: Selamat dan mudah memindahkan aset crypto anda Banyak pelabur menggunakan Huobi dan Binance pada masa yang sama. Artikel ini akan membimbing anda bagaimana untuk memindahkan aset crypto dengan selamat di Huobi (HTX), seperti Trump dan USDT, ke platform Binance. Binance adalah popular untuk keselamatan yang tinggi, mata wang yang kaya dan pasangan perdagangan, dan jumlah dagangan terkemuka di dunia. Kelebihan Binance Exchange: Jumlah dagangan nombor satu di dunia, menyumbang 50% daripada pasaran global; Tutorial ini akan mengambil Trump dan USDT sebagai contoh

Cara Memastikan Ketersediaan MongoDB Tinggi di Debian Cara Memastikan Ketersediaan MongoDB Tinggi di Debian Apr 02, 2025 am 07:21 AM

Artikel ini menerangkan cara membina pangkalan data MongoDB yang sangat tersedia pada sistem Debian. Kami akan meneroka pelbagai cara untuk memastikan keselamatan data dan perkhidmatan terus beroperasi. Strategi Utama: Replicaset: Replicaset: Gunakan replika untuk mencapai redundansi data dan failover automatik. Apabila nod induk gagal, set replika secara automatik akan memilih nod induk baru untuk memastikan ketersediaan perkhidmatan yang berterusan. Sandaran dan Pemulihan Data: Secara kerap Gunakan perintah Mongodump untuk membuat sandaran pangkalan data dan merumuskan strategi pemulihan yang berkesan untuk menangani risiko kehilangan data. Pemantauan dan penggera: Menyebarkan alat pemantauan (seperti Prometheus, Grafana) untuk memantau status MongoDB dalam masa nyata, dan

10 platform perdagangan teratas untuk aplikasi mata wang digital, cadangan aplikasi platform spekulasi mata wang tetap 10 platform perdagangan teratas untuk aplikasi mata wang digital, cadangan aplikasi platform spekulasi mata wang tetap Mar 07, 2025 pm 06:51 PM

Artikel ini mengesyorkan aplikasi perdagangan mata wang digital: 1. Apabila memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran transaksi, pemilihan mata wang, antara muka pengguna, sokongan perkhidmatan pelanggan dan pematuhan peraturan, dan menilai dengan teliti risiko dan tidak pernah membabi buta mengikuti trend.

Cara mengkonfigurasi pengembangan automatik MongoDB pada Debian Cara mengkonfigurasi pengembangan automatik MongoDB pada Debian Apr 02, 2025 am 07:36 AM

Artikel ini memperkenalkan cara mengkonfigurasi MongoDB pada sistem Debian untuk mencapai pengembangan automatik. Langkah -langkah utama termasuk menubuhkan set replika MongoDB dan pemantauan ruang cakera. 1. Pemasangan MongoDB Pertama, pastikan MongoDB dipasang pada sistem Debian. Pasang menggunakan arahan berikut: SudoaptDateSudoaptInstall-ImongoDB-Org 2. Mengkonfigurasi set replika replika MongoDB MongoDB Set memastikan ketersediaan dan kelebihan data yang tinggi, yang merupakan asas untuk mencapai pengembangan kapasiti automatik. Mula MongoDB Service: sudosystemctlstartmongodsudosys

Sepuluh Platform Perdagangan Mata Wang Top Teratas di Dunia Sepuluh Platform Perdagangan Mata Wang Top Teratas di Dunia Mar 12, 2025 pm 05:33 PM

Artikel ini menyediakan kaedah muat turun aplikasi mudah alih Android dan Apple untuk platform perdagangan mata wang digital arus perdana seperti Binance, OKX, Gate.io, Huobi Global, Coinbase, Kucoin, Kraken dan Bitfinex. Sama ada pengguna Android atau pengguna Apple, anda boleh mencari pautan muat turun aplikasi rasmi untuk platform yang sepadan dan melengkapkan pemasangan mengikut langkah -langkah. Artikel ini menyediakan panduan terperinci mengenai mencari dan memuat turun di laman web rasmi masing -masing atau kedai aplikasi, dan memberikan arahan mengenai langkah -langkah khas untuk memasang fail APK di Android, supaya pengguna dapat memuat turun dan menggunakannya dengan cepat dan mudah.

See all articles