Bermula dengan MongoDB untuk Pemula

Ketahui apa itu MongoDB, panduan pemasangan dan operasi asas.


MongoDB NoSQL semakin popular berbanding sebelumnya. Adakah anda mempunyai pemahaman yang diperlukan?

Jangan risau jika tidak, perkara berikut akan membantu anda.

Pengenalan

Dengan laman web mengambil peralihan paradigma ke arah kandungan dinamik, permintaan untuk pangkalan data No-SQL meningkat. Ini menimbulkan banyak pangkalan data No-SQL seperti MongoDB.

Dikelaskan sebagai pangkalan data No-SQL, MongoDB adalah pangkalan data berasaskan dokumen yang menyimpan data dalam bentuk dokumen JSON dengan identifikasi autogenerated untuk setiap dokumen.

Pangkalan data No-SQL adalah pangkalan data di mana struktur jadual tidak tetap, tidak seperti pangkalan data SQL berstruktur. MongoDB menyimpan data dalam bentuk rentetan JSON tanpa mengira jumlah atribut atau nama atribut dalam lajur tertentu.

Ini membolehkan pemaju membuat perubahan dalam entiti dengan cepat tanpa memerlukan perubahan pada tahap pangkalan data.

Memasang MongoDB

MongoDB, seperti setiap pangkalan data lain, tersedia dalam pelbagai varian bergantung pada keperluan pembangunan. Variannya telah disenaraikan di bawah dan boleh digunakan atau dimuat turun dari ini pautan

  • MongoDB Atlas – Pangkalan Data sebagai perkhidmatan
  • Pelayan Komuniti – Percuma digunakan untuk komuniti pembangun
  • MongoDB Enterprise Edition – Versi komersial dengan ciri tambahan

Setiap ini sepenuhnya sesuai dengan setiap sistem operasi. Sebagai permulaan, pemasangan pelayan komuniti, muat turun fail pemasangan yang sesuai mengikut sistem operasi anda.

Proses pemasangan sedikit berbeza untuk setiap sistem operasi, dan oleh itu kami akan melalui setiap pemasangan sistem operasi secara berasingan.

Memasang di MacOS

Untuk memasang MongoDB di MacOS. Muat turun arkib .tgz yang mengandungi binari yang diperlukan di dalamnya. Apabila menyaharkib fail, anda seharusnya dapat melihat sekumpulan binari yang terdapat di tong sampah folder.

  • Pindahkan folder tong sampah ke lokasi yang diingini
  • Buka terminal dan ubah direktori ke direktori tong sampah yang disebutkan di atas
  • Laksanakan perintah di bawah ini untuk membuat pangkalan data di lokasi yang diinginkan.

$ ./mongod –dbpath / path-to-dikehendaki-direktori /

Dalam perintah di atas, ganti jalan ke direktori dengan jalan yang anda inginkan dan pelayan akan dimulakan sebaik sahaja perintah itu dilaksanakan.

Memasang di Windows

Pusat muat turun MongoDB menyediakan yang boleh dilaksanakan .msi pakej untuk memasang MongoDB ke tingkap. Pemasangan di windows agak mudah dan boleh dilakukan dengan menggunakan beberapa arahan setelah persediaan dimuat turun.

  • Jalankan arahan di bawah untuk memasang MongoDB di Windows PC / pelayan.

> cd / persediaan-folder /
> msiexec.exe / q / i .msi ^
PEMASANGAN ="C: \ Fail Program \ MongoDB \" ^
TAMBAHAN ="Alat Pemantauan, Alat Eksport Import, Alat Pelbagai"

Perintah di atas akan membawa anda ke direktori yang sesuai dan menjalankan pengaturan untuk pemasangan di lokasi yang ditentukan. Setelah dipasang, anda perlu mengkonfigurasi laluan penyimpanan pangkalan data lalai untuk MongoDB. Perintah di bawah ini membantu anda mengkonfigurasi yang sama

> data md \ db \

Perintah di atas membuat folder db / data dalam direktori di mana arahan arahan menunjuk pada masa ini. Sekiranya anda perlu mengkonfigurasi semula pangkalan data, anda boleh menggunakan mongod.exe dengan dbpath hujah seperti di bawah:

>"C: \ Program Files \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Memasang di Linux

Sama seperti muat turun MacOS, varian MongoDB untuk Linux juga tersedia dalam bentuk sekumpulan binari yang diarkibkan. Proses untuk memasang MongoDB agak serupa.

  • Pindahkan binari ke lokasi yang diingini
  • Buka terminal dalam folder
  • Laksanakan perintah di bawah ini dengan lokasi DB yang diinginkan

$ ./mongod –dbpath / path-to-dikehendaki-direktori /

Membuat koleksi pertama

MongoDB menyimpan data dalam bentuk dokumen JSON. Sekumpulan dokumentasi tersebut secara kolektif dikenali sebagai koleksi di MongoDB. Oleh itu, koleksi serupa dengan jadual dalam pangkalan data relasional sementara dokumen serupa dengan rekod.

Untuk menyimpan dokumen, pertama kita perlu membuat koleksi. Perkara menarik mengenai pangkalan data NoSQL adalah tidak seperti pangkalan data SQL, anda tidak perlu menentukan nama lajur atau jenis data di dalamnya.

Langkah pertama untuk membuat koleksi adalah dengan membuat pangkalan data. Untuk membuat pangkalan data dan menyambungkannya menggunakan baris perintah, jalankan perintah di bawah ini dari direktori utama pemasangan MongoDB.

Tutorial $ ./bin/mongo

Perintah ini digunakan untuk memulakan sambungan pangkalan data dan menyambung ke pangkalan data tutorial secara serentak. Ini akan menunjukkan sekumpulan baris dalam log untuk menunjukkan bahawa baris arahan telah disambungkan ke pangkalan data MongoDB.

Contoh gambar baris arahan telah dipaparkan di bawah untuk memberi anda idea yang lebih baik mengenai perkara yang sama.

  • Untuk membuat koleksi, jalankan arahan berikut:

$ > db.createCollection (‘firstCollection’);

Ini adalah bagaimana koleksi kosong dibuat. Langkah seterusnya adalah memasukkan data dan melakukan beberapa pemprosesan pada rekod menggunakan baris perintah MongoDB.

Memasukkan dokumen ke dalam Koleksi

Seperti yang dibincangkan di atas, adalah mungkin untuk memasukkan hampir semua JSON ke dalam setiap koleksi MongoDB.

Mari kita mulakan dengan memasukkan dokumen JSON pertama ke dalam Koleksi pertama koleksi dibuat di atas.

> db.firstCollection.insertOne ({nama: ‘Abhishek’, kemahiran: ‘MongoDB’});

Perintah di atas memasukkan satu dokumen JSON ke dalam Koleksi pertama. Perkara yang sama dapat disahkan dengan menggunakan perintah yang ditunjukkan di bawah:

> db.firstCollection.find ();

Perintah di atas mempunyai banyak kegunaan bergantung pada variasi fungsi find (). Apabila tidak ada argumen yang ditentukan seperti halnya dengan perintah di atas, ia mengambil semua dokumen yang tersedia dari koleksi.

Anda boleh memasukkan satu lagi rekod dan mencuba yang sama. Apabila melakukannya, output arahan di atas akan serupa dengan yang ditunjukkan di bawah:

> db.firstCollection.find ();
{ "_ID" : ObjectId ("5b043a32c29a7184535e783a"), "nama" : "Abhishek", "kemahiran" : "MongoDB" }
{ "_ID" : ObjectId ("5b05b4f0c29a7184535e783b"), "nama" : "GeekFlare", "kemahiran" : "Java, MongoDB, NodeJS" }

Seperti yang dapat dilihat, ada dua rekod yang ada ditunjukkan. Fungsi find () dapat dengan mudah digunakan untuk menyaring dokumen berdasarkan parameter tertentu. Mari kita tapis dokumen menggunakan atribut nama.

Proses penapisnya mudah, dan dapat difahami dari perintah di bawah ini:

db.firstCollection.find ({nama: ‘Abhishek’});
{ "_ID" : ObjectId ("5b043a32c29a7184535e783a"), "nama" : "Abhishek", "kemahiran" : "MongoDB" }

Penapis juga dapat digunakan dengan beberapa atribut di JSON. Walaupun ada kemungkinan untuk menambahkan sejumlah parameter ke pertanyaan, batasan pendekatan ini adalah hanya sesuai dengan nilai atribut yang tepat.

Menyaring rekod menggunakan Regex

Untuk melaksanakan klausa MongoDB yang setara dengan MySQL seperti, MongoDB menggunakan regex. Regex adalah rangkaian watak yang membentuk corak untuk dipadankan. Huruf regex serupa dengan yang digunakan dalam Javascript.

Untuk koleksi semasa, kami akan cuba mengambil data dengan memadankan corak untuk atribut kemahiran. Perintah di bawah mendapat senarai orang yang mempunyai kemahiran MongoDB. Oleh itu, ia akan mengambil dua rekod kerana kedua-duanya mengandungi rentetan MongoDB.

> db.firstCollection.find ({skill: /.* MongoDB. * /});
{ "_ID" : ObjectId ("5b043a32c29a7184535e783a"), "nama" : "Abhishek", "kemahiran" : "MongoDB" }
{ "_ID" : ObjectId ("5b05b4f0c29a7184535e783b"), "nama" : "GeekFlare", "kemahiran" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({skill: /.* Java. * /});
{ "_ID" : ObjectId ("5b05b4f0c29a7184535e783b"), "nama" : "GeekFlare", "kemahiran" : "Java, MongoDB, NodeJS" }

Kod di atas memaparkan hasil dari dua rentetan yang berbeza dalam bentuk regex. Pertanyaan pertama mengambil senarai dokumen di mana atribut skill mengandungi kata kunci MongoDB sementara yang lain hanya mengambil orang yang mahir di Java sahaja.

Cabaran seterusnya dalam membuat pertanyaan berdasarkan kriteria adalah membuat pertanyaan dengan syarat OR atau AND.

Pertanyaan rumit di MongoDB

Seperti yang jelas dari perintah di atas, MongoDB di mana klausa berfungsi pada JSON. Proses penggabungan keadaan juga bergantung pada JSON itu sendiri. MongoDB menyediakan pengendali seperti $ atau, $ dan juga $ untuk tidak melakukan operasi pertanyaan yang berkaitan.

Mari kita cuba mendapatkan senarai dokumen di mana atribut name berisi Abhishek atau skill berisi Java.

> db.firstCollection.find ({$ atau: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_ID" : ObjectId ("5b043a32c29a7184535e783a"), "nama" : "Abhishek", "kemahiran" : "MongoDB" }
{ "_ID" : ObjectId ("5b05b4f0c29a7184535e783b"), "nama" : "Geekflare", "kemahiran" : "Java, MongoDB, NodeJS" }

Seperti yang dapat dilihat, ia mengambil kedua-dua rekod. Anda boleh menggunakan atribut name sebagai Geekflare dan melihat perubahannya. Hanya dokumen dengan tiga kemahiran dan nama Geekflare yang akan dipaparkan.

Begitu juga, mungkin menggunakan $ dan operator dengan pelbagai syarat JSON seperti yang ditunjukkan di atas.

Untuk kumpulan pengendali seterusnya, kami perlu membuat satu koleksi lagi dan menambahkan beberapa rekod padanya menggunakan arahan di bawah.

> db.createCollection (‘tanda pelajar’);
{ "okey" : 1}
> db.studentmarks.insertMany ([{nama: ‘A’, markah: 20}, {nama: ‘B’, markah: 25}, {nama: ‘C’, markah: 22}, {nama: ‘D’, markah: 30}]);
{
"diakui" : benar,
"dimasukkanIds" : [
ObjekId ("5b06e7b5c29a7184535e783c"),
ObjekId ("5b06e7b5c29a7184535e783d"),
ObjekId ("5b06e7b5c29a7184535e783e"),
ObjekId ("5b06e7b5c29a7184535e783f")
]
}

Kumpulan operator seterusnya yang akan kami gunakan adalah operator perbandingan dalam pertanyaan. Untuk membandingkan nilai menggunakan kriteria seperti kurang daripada atau lebih besar daripada atau tidak sama dengan, kami menggunakan operator yang berkaitan dengan nilai yang kami lalui.

Contoh mendapatkan senarai pelajar dengan markah lebih besar daripada 22 ditunjukkan di bawah.

db.studentmarks.find ({markah: {$ gt: 22}});
{ "_ID" : ObjectId ("5b06e7b5c29a7184535e783d"), "nama" : "B", "tanda" : 25}
{ "_ID" : ObjectId ("5b06e7b5c29a7184535e783f"), "nama" : "D", "tanda" : 30}

$ Gt di sini menunjukkan lebih besar daripada dalam kriteria. Oleh itu, dokumen dengan tanda lebih daripada 22 sedang dipaparkan. Begitu juga, ada pengendali lain yang boleh digunakan. Mereka disenaraikan di bawah.

Pengendali
Gunakan
Contohnya
$ eqPeriksa sama ada nilainya sama{markah: {$ eq: 20}}
$ ltPeriksa sama ada nilai kurang daripada{markah: {$ lt: 20}}
$ gtePeriksa sama ada nilai lebih besar daripada atau sama dengan{markah: {$ gte: 22}}
$ ltePeriksa sama ada nilai kurang terima atau sama dengan{markah: {$ lte: 22}}
$ nePeriksa sama ada nilai tidak sama dengan{markah: {$ ne: 22}}
$ dalamPeriksa sama ada nilai sama dengan salah satu nilai dari tatasusunan{markah: {$ in: [20,22]}}
$ sembilanPeriksa sama ada nilai tidak sama dengan nilai dari array{markah: {$ nin: [22,25]}}

GUI untuk MongoDB

Dalam perbincangan di atas, kami telah menggunakan baris perintah untuk melaksanakan pertanyaan kami di MongoDB.

Menggunakan baris perintah boleh menjadi masalah ketika datang ke pertanyaan kompleks dan sekumpulan data yang lebih besar. Untuk mempermudah melihat data dan melaksanakan pertanyaan, MongoDB menyediakan anda alat GUI yang sangat baik yang disebut Kompas MongoDB.

Kompas MongoDB boleh dimuat turun dengan mudah dari Laman web muat turun MongoDB. Setelah memuat turun dan memasang MongoDB Compass, mulakan aplikasi, dan anda akan disambut oleh skrin yang serupa dengan skrin yang ditunjukkan di bawah.

MongoDBCompass

Memandangkan anda mempunyai pelayan MongoDB yang aktif dan aktif, klik sambungkan dengan butiran lalai. Anda harus log masuk dan menunjukkan senarai pangkalan data yang ada.

Klik pangkalan data tutorial untuk melihat senarai koleksi di db tutorial. Seperti yang ditunjukkan di bawah, ia memaparkan senarai koleksi yang tersedia di db tutorial.

Pada mengklik koleksi, ia memaparkan senarai dokumen dengan kawalan yang diperlukan untuk menyaring rekod menggunakan JSON serta kemudahan untuk melihat dokumen dalam format JSON atau format tabel mengikut keselesaan kami.

GUI juga menjadikan penambahan dokumen lebih mudah. Yang perlu anda lakukan ialah klik butang Masukkan Dokumen di skrin yang ditunjukkan di bawah. Ini membuka dialog kecil yang meminta perincian dokumen dengan id dokumen yang dihasilkan secara automatik.

Dokumen MongoDB

GUI mempermudah banyak operasi yang mungkin sukar dilakukan menggunakan antara muka baris perintah MongoDB.

Kesimpulannya

Kami menangkap inti pati NoSQL dengan pelbagai contoh dan pemasangan yang difahami, bagaimana dokumen berbeza berbanding dengan catatan pangkalan data hubungan biasa. Anda juga boleh merujuk perkara ini belajar MongoDB dari awal kursus dalam talian.

Dan, jika anda seorang pembangun, maka anda mungkin berminat yang ini.

TAG:

  • Pangkalan data

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Комментариев нет, будьте первым кто его оставит

    Комментарии закрыты.

    Adblock
    detector