Dalam tutorial MongoDB ini, kita akan memahami kueri berbeda di MongoDB. Kami akan membahas topik ini dengan berbagai operasi dan contoh. Selain itu, kami juga akan membahas topik-topik berikut
- Kueri yang berbeda di MongoDB
- Kueri yang berbeda dalam contoh MongoDB
- Permintaan berbeda di MongoDB dengan kondisi
- Kueri yang berbeda dalam array bersarang MongoDB
- Kueri berbeda dalam pencocokan MongoDB
- Kueri yang berbeda dalam beberapa bidang MongoDB
- Kueri yang berbeda di MongoDB lebih dari
- Kueri yang berbeda dalam indeks MongoDB
- Kueri yang berbeda dalam MongoDB agregat
- Kueri berbeda dalam batas MongoDB
- Kueri hitungan berbeda di MongoDB
- Kueri yang berbeda dalam kompas MongoDB
- Kueri yang berbeda di MongoDB menggunakan Python
Daftar isi
Kueri yang berbeda di MongoDB
MongoDB menemukan nilai berbeda untuk bidang yang ditentukan pada satu koleksi. Metode yang berbeda akan mengembalikan dokumen yang berisi larik dari nilai yang berbeda
Dokumen hasil juga berisi dokumen tersemat dengan statistik kueri dan rencana kueri
Sintaksis
db.collection.distinct(field, query, options)Perintah tersebut berisi bidang-bidang berikut
parameterTypeDescriptionfieldstringNama bidang yang ingin Anda kembalikan nilainya berbeda. querydocumentSebuah query yang menentukan dokumen untuk mengambil nilai yang berbeda. optionsdocumentOptional, Dokumen yang menentukan opsiCatatan, Anda akan menggunakan pipa agregasi untuk mengambil nilai yang berbeda menggunakan operator $group
Kueri yang berbeda dalam contoh MongoDB
Dalam topik ini, Anda akan belajar menemukan nilai yang berbeda untuk bidang tertentu di seluruh kumpulan tunggal dan mengembalikan hasilnya dalam larik
Anda akan lebih memahami ini dengan bantuan sebuah contoh
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi siswa
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_Setelah itu, kami akan menerapkan kueri di bawah ini untuk mengembalikan nama yang berbeda (fname) dari semua siswa yang ada di koleksi
db.student.distinct("fname")Di sini, metode yang berbeda ().
- Kembalikan semua bidang kolom fname
- Kembalikan semua bidang berbeda dari bidang larik
Di sini, metode yang berbeda () mengembalikan nilai bidang kursus
Kami telah berhasil mengambil nilai yang berbeda dari koleksi
Juga, periksa. ID Peningkatan Otomatis MongoDB
Permintaan berbeda di MongoDB dengan kondisi
Terkadang kita harus menerapkan kondisi menggunakan metode yang berbeda untuk menemukan dokumen tertentu. Jadi, Dalam topik ini, Anda akan belajar menerapkan kueri yang berbeda dengan kondisi. Sekarang, Anda akan lebih mengerti dengan bantuan sebuah contoh
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi inventaris
db.inventory.insertMany([ { "_id": 1, "dept": "A", "item": { "sku": "101", "color": "red" }, "sizes": [ "S", "M" ] }, { "_id": 2, "dept": "A", "item": { "sku": "102", "color": "blue" }, "sizes": [ "M", "L" ] }, { "_id": 3, "dept": "B", "item": { "sku": "103", "color": "blue" }, "sizes": "S" }, { "_id": 4, "dept": "A", "item": { "sku": "104", "color": "black" }, "sizes": [ "S" ] } ])_Kami akan menerapkan kueri di bawah ini untuk mengembalikan bidang yang berbeda di MongoDB dengan ketentuan
db.inventory.distinct( "item.sku", { dept: "A" } )Di sini, metode yang berbeda () akan mengembalikan nilai yang berbeda untuk sku bidang, disematkan di bidang item, dari semua dokumen dalam koleksi inventaris
Metode ini mengembalikan larik nilai sku berbeda berikut
Membaca. MongoDB menghapus bidang dari dokumen
Kueri yang berbeda dalam array bersarang MongoDB
Dalam topik ini, Anda akan mengetahui cara mengambil dokumen array bersarang dengan menggunakan metode differensial(). Array bersarang dalam JavaScript digambarkan sebagai array (Array luar) di dalam array lain (array dalam). Array dapat menampung satu atau lebih array dalam
Larik bersarang ini (array dalam) berada di bawah cakupan larik luar artinya kita dapat mengakses elemen larik dalam ini berdasarkan nama objek larik luar. Sekarang, contoh di bawah ini akan membantu Anda untuk memahami dengan lebih tepat
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi artikel
db.article.insert([ { "_id" : 101, "name" : "test 1", "Comment" : [ { "name" : "comment test", "Reply" : [ { "ip" : "192.168.2.1", "email" : "yyy" }, { "ip" : "127.0.0.1", "email" : "zzz" } ] } ] }, { "_id" : 102, "name" : "test 2", "Comment" : [ { "name" : "comment 2 test", "Reply" : [ { "ip" : "192.168.1.1", "email" : "xxx" }, { "ip" : "127.168.1.1", "email" : "xxx" } ] } ] } ])_Setelah itu, kami akan menerapkan kueri di bawah ini untuk menemukan bidang yang berbeda dalam array bersarang MongoDB
db.article.distinct("Comment.Reply.ip",{"Comment.Reply.email" : "xxx"})Di sini, kami telah menggunakan metode yang berbeda () dan mengambil ip dari bidang array bersarang “Comment. Membalas. email” di mana emailnya adalah xxx
Kami telah berhasil mengambil bidang berbeda dari dokumen array bersarang di MongoDB
Membaca. Buat indeks di MongoDB
Kueri berbeda dalam pencocokan MongoDB
Dalam topik ini, Anda akan belajar menemukan bidang berbeda yang cocok dengan kueri di MongoDB. Anda akan lebih mengerti dengan bantuan sebuah contoh
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi rincian
db.details.insertMany([ { "name" : "John", "age" : 21, "location" : "New York" }, { "name" : "Sam", "age" : 25, "location" : "USA" }, { "name" : "Lisa", "age" : 23, "location" : "Chicago" }, { "name" : "Ron", "age" : 26, "location" : "New Zealand" }, { "name" : "Mark", "age" : 29, "location" : "Canada" } ])_Sekarang, kami akan menerapkan kueri di bawah ini ke koleksi untuk menemukan bidang yang cocok menggunakan metode yang berbeda
db.details.distinct( "location", {"name": "John"} )_Di sini, kami telah menggunakan metode yang berbeda () dan mengambil lokasi bidang yang cocok dengan nama john
Kami telah berhasil mengambil bidang kecocokan dengan menggunakan metode yang berbeda
Membaca. Tidak ada sebelum pernyataan MongoDB
Kueri yang berbeda dalam beberapa bidang MongoDB
Dalam topik ini, kita akan belajar melakukan metode berbeda pada banyak bidang di MongoDB. Sekarang, operator $group bersama dengan kerangka kerja agregasi digunakan untuk melakukan perbedaan pada banyak bidang. Contoh di bawah ini akan membantu Anda memahami dengan lebih tepat
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi alamat
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_0Sekarang, kueri di bawah ini akan menampilkan semua dokumen dari koleksi dengan bantuan metode find()
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_1Ini akan menghasilkan output berikut
Kami tidak dapat beroperasi dengan menggunakan metode yang berbeda, jadi di sini kami akan menggunakan operasi agregasi dan mengambil beberapa bidang. Sekarang, kueri berikut akan tampil berbeda pada banyak bidang di MongoDB
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_2Di sini, kami telah menggunakan metode agregat(). Dalam hal ini, tahap $group digunakan untuk mengambil nilai item yang berbeda dan operator $addToSet digunakan untuk menambahkan nilai ke larik kecuali jika nilainya sudah ada
Kami telah berhasil mengambil semua bidang koleksi dengan melakukan perbedaan pada banyak bidang
Membaca. Komitmen dua fase MongoDB
Kueri yang berbeda di MongoDB lebih dari
Operasi yang lebih besar dari tidak dapat dilakukan di MongoDB dengan menggunakan metode yang berbeda (). Jadi, kita akan menggunakan operasi agregasi dan menggunakan tahapan $group untuk mengambil nilai item yang berbeda dari koleksi. Contoh di bawah ini akan membantu Anda memahami dengan lebih tepat
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi penjualan
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_3Setelah itu, kami akan menerapkan kueri di bawah ini untuk mengambil bidang berbeda yang lebih besar dari
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_4Di sini, kami telah menggunakan dokumen grup operasi agregasi berdasarkan kolom item dan menghitung total jumlah penjualan per item, dan hanya mengembalikan item dengan jumlah total penjualan lebih dari sama dengan 100
Kami telah berhasil mengambil bidang yang berbeda di mana jumlah total penjualan yang dihitung lebih besar dari 100
Membaca. MongoDB dimatikan dengan kode 48
Kueri yang berbeda dalam indeks MongoDB
Dalam topik ini, Anda akan memahami menemukan bidang yang berbeda menggunakan indeks di MongoDB. Indeks mencakup kueri kapan
- Dalam kueri, semua kolom adalah bagian dari indeks
- Dan, semua bidang yang dikembalikan dalam hasil berada dalam indeks yang sama
Keuntungan
- Keuntungan indeks, ini berisi semua bidang yang diperlukan oleh kueri dan mengembalikan hasilnya hanya dengan menggunakan indeks
- Indeks bisa jauh lebih cepat daripada menanyakan dokumen di luar indeks
Mari kita pahami contoh di bawah ini untuk memahami masalahnya dengan lebih tepat
Contoh
Kami akan menggunakan koleksi inventaris yang berisi dokumen-dokumen berikut
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_5Metode find() akan digunakan untuk mengembalikan dokumen koleksi
Sekarang, Anda harus membuat indeks untuk semua bidang agar dapat mendukung kueri yang berbeda
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_6Kami berhasil membuat indeks dan memeriksanya dengan menggunakan metode getIndexes()
Sekarang, kita dapat dengan mudah mengembalikan bidang yang berbeda dengan menggunakan kueri di bawah ini
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_7Kueri ini akan mengembalikan semua bidang yang berbeda dari kolom ukuran
Kami telah berhasil mengambil bidang yang berbeda menggunakan indeks
Perhatikan bahwa, Manfaat indeks, ketika kami memiliki kumpulan data yang besar dan kami ingin mengetahui bidang yang berbeda pada saat itu dengan bantuan indeks, kami dapat dengan mudah mengambil bidang dokumen yang berbeda
Baca. Bagaimana cara membuat indeks di MongoDB?
Kueri yang berbeda dalam MongoDB agregat
Dalam topik ini, Anda akan belajar menemukan bidang berbeda menggunakan operasi agregasi
Tahap $group digunakan oleh proses agregasi untuk mendapatkan nilai item terpisah dari koleksi. Contoh berikut akan membantu Anda memahami masalahnya dengan lebih tepat
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi seniman
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_8Sekarang, kami akan menerapkan kueri di bawah ke tempat grup memasukkan dokumen dengan ekspresi _id yang ditentukan dan untuk setiap pengelompokan yang berbeda, menghasilkan dokumen dan bidang _id dari setiap dokumen keluaran berisi grup unik berdasarkan nilai
db.students.insertMany([ { "fname" : "Tom", "city" : "USA", "courses" : [ "c#", "asp", "node" ] }, { "fname" : "Harry", "city" : "New Zealand", "courses" : [ "python", "asp", "node" ] }, { "fname" : "Mikky", "city" : "United Kingdom", "courses" : [ "python", "asp", "c++" ] }, { "fname" : "Ron", "city" : "Australia", "courses" : [ "python", "django", "node" ] } ])_9Di sini, Dalam operasi agregasi, kami telah menentukan tahap $group yang akan mengambil nilai item berbeda (nama_pertama) dari koleksi artis
Kami telah berhasil mengambil semua kolom yang berbeda menggunakan operasi agregasi
Catatan
$group tidak mengurutkan dokumen keluarannya
Membaca. MongoDB menemukan banyak kondisi
Kueri berbeda dalam batas MongoDB
Dalam topik ini, Anda akan menggunakan metode limit() dan mengambil catatan atau dokumen berbeda dalam jumlah terbatas yang Anda inginkan. Contoh berikut akan membantu Anda memahami masalahnya dengan lebih tepat
Contoh
Dalam contoh ini, kami menggunakan koleksi yang sama dengan yang kami gunakan di topik sebelumnya. Untuk referensi, periksa snapshot di bawah ini
Setelah itu, kami akan menerapkan kueri di bawah ke koleksi dan mengambil catatan atau bidang berbeda dalam jumlah terbatas
db.student.distinct("fname")0Di sini, Dalam operasi agregasi, kami telah menentukan tahap $group yang akan mengambil nilai item berbeda (nama_pertama) dari koleksi artis. Dan, operasi $limit hanya mengembalikan 3 dokumen pertama
Kami telah berhasil mengambil jumlah batas kolom yang berbeda menggunakan operasi agregasi
Catatan. $group tidak mengurutkan dokumen keluarannya
Kueri hitungan berbeda di MongoDB
Dalam topik ini, Anda akan belajar menghitung bidang yang berbeda dari koleksi. MongoDB memiliki perintah berbeda yang mengembalikan larik dengan nilai berbeda untuk suatu bidang dan Anda dapat memeriksa panjang larik menggunakan perintah panjang untuk hitungan
Contoh
Dokumen-dokumen berikut dimasukkan ke dalam koleksi mobil
db.student.distinct("fname")1Sekarang, kami akan menerapkan kueri di bawah ini untuk menghitung jumlah bidang yang berbeda
db.student.distinct("fname")2Untuk referensi lihat eksekusi kode
Kami telah berhasil mengambil panjang array dari nilai yang berbeda menggunakan perintah length
Membaca. Dokumen Pembaruan MongoDB
Kueri yang berbeda dalam kompas MongoDB
Dalam topik ini, Anda akan belajar menemukan bidang yang berbeda menggunakan kompas MongoDB
Kompas MongoDB adalah GUI (antarmuka pengguna grafis) untuk menjelajahi, menganalisis, dan berinteraksi dengan data yang disimpan dalam database MongoDB tanpa menggunakan kueri
Contoh
Dalam contoh ini, kita akan menemukan field atau record yang berbeda menggunakan kompas MongoDB
Anda harus mengikuti langkah di bawah ini untuk memahami contoh
- Buka kompas MongoDB dan hubungkan dengan server
- Pilih database dan koleksi tempat Anda ingin menemukan bidang yang berbeda
- Anda juga dapat membuat database baru dan memasukkan dokumen ke dalam koleksi
- Di sini, kami masing-masing menggunakan database dan koleksi, pengujian, dan inventaris yang ada
- Sekarang, kita akan menggunakan operasi agregasi dan tahap $group yang akan mengambil nilai item berbeda dari koleksi
- Periksa sisi kanan bawah jendela untuk output
Kami telah berhasil mengambil semua bidang berbeda menggunakan kompas MongoDB
Membaca. MongoDB membandingkan dua bidang
Kueri yang berbeda di MongoDB menggunakan Python
Dalam topik ini, Anda akan belajar menemukan field atau record berbeda dari MongoDB menggunakan Python
Pustaka PyMongo menyertakan fungsi yang berbeda() yang menemukan dan mengembalikan nilai yang berbeda untuk bidang yang ditentukan di seluruh koleksi tunggal dan mengembalikan hasilnya dalam larik. Parameter. kunci. nama bidang yang nilai yang berbeda perlu ditemukan
Contoh
Contoh berikut akan membantu Anda mengetahui bidang yang berbeda dari koleksi
Kode
Dalam kode berikut, kami telah mengimpor pustaka pymongo untuk menggunakan fungsionalitas MongoDB dengan python
- Gunakan kelas MongoClient untuk membuat koneksi dengan server
- Membuat organisasi basis data dan mobil koleksi
- Setelah itu, kami memasukkan beberapa dokumen ke dalam koleksi menggunakan metode insert_many()
- Setelah itu, kami telah menggunakan metode yang berbeda () untuk menemukan bidang yang berbeda dari kolom mfdcountry
- Dan, fungsi print() digunakan untuk mengembalikan hasilnya
Lihat eksekusi kode
Kami telah berhasil mengambil daftar bidang yang berbeda menggunakan python
Anda mungkin juga ingin membaca tutorial MongoDB berikut
- Cara mengubah nama koleksi di MongoDB
- MongoDB menemukan dokumen yang dimasukkan terakhir
- MongoDB menghapus elemen dari array
- MongoDB menemukan string berisi
Nah, Pada tutorial ini, kita telah memahami tentang query Distinct di MongoDB. Dan, kami telah membahas berbagai operasi dengan contoh. Kami telah membahas daftar topik berikut
- Kueri yang berbeda di MongoDB
- Kueri yang berbeda dalam contoh MongoDB
- Permintaan berbeda di MongoDB dengan kondisi
- Kueri yang berbeda dalam array bersarang MongoDB
- Kueri berbeda dalam pencocokan MongoDB
- Kueri yang berbeda dalam beberapa bidang MongoDB
- Kueri yang berbeda di MongoDB lebih dari
- Kueri yang berbeda dalam indeks MongoDB
- Kueri yang berbeda dalam MongoDB agregat
- Kueri berbeda dalam batas MongoDB
- Kueri hitungan berbeda di MongoDB
- Kueri yang berbeda dalam kompas MongoDB
- Kueri yang berbeda di MongoDB menggunakan Python
Bijay
Saya Bijay memiliki pengalaman lebih dari 15 tahun di Industri Perangkat Lunak. Selama ini, saya telah mengerjakan MariaDB dan menggunakannya di banyak proyek. Sebagian besar pembaca kami berasal dari Amerika Serikat, Kanada, Inggris, Australia, Selandia Baru, dll
Ingin belajar MariaDB? . Juga, saya adalah Microsoft MVP