Server MongoDB sudah berjalan, tetapi kita belum punya alat untuk berbicara dengannya. Peran itu diisi mongosh — MongoDB Shell resmi, sebuah REPL (Read-Eval-Print Loop) berbasis Node.js yang mengeksekusi perintah JavaScript dan langsung menampilkan hasilnya. Shell lama bernama mongo sudah lama dihapus dari paket MongoDB, jadi mongosh adalah satu-satunya shell resmi saat ini. Chapter ini memasang mongosh di tiga sistem operasi, memverifikasi versinya, lalu mengenal isi sesi pertama kita.
Apa itu mongosh #
mongosh bukan sekadar penerjemah perintah database. Karena dibangun di atas Node.js, seluruh ekspresi JavaScript modern bisa dijalankan langsung di dalamnya — dari perhitungan sederhana sampai method bawaan array:
[1, 2, 3].map(x => x * 2)Output yang Dihasilkan:
[ 2, 4, 6 ]REPL mongosh membaca ekspresi map pada baris tersebut, mengeksekusinya, lalu mencetak array hasilnya. Kemampuan ini akan sering kita manfaatkan nanti: memformat hasil query, menyimpan hasil agregasi ke variabel, atau menguji potongan logika tanpa keluar dari shell.
Instalasi per Sistem Operasi #
Ubuntu / Debian #
Paket mongosh tersedia di repositori resmi MongoDB yang sudah kita daftarkan pada Chapter Instalasi MongoDB Community. Bila repositori tersebut sudah aktif, satu perintah cukup:
sudo apt-get install -y mongodb-mongoshPada instalasi server lewat metapackage mongodb-org, paket ini biasanya sudah ikut terpasang sebagai dependensi — apt cukup akan menjawab bahwa mongodb-mongosh sudah berada pada versi terbaru.
macOS #
Formula mongosh tersedia langsung di Homebrew:
brew install mongoshWindows #
Unduh dari mongodb.com/try/download/shell
, lalu pilih versi 2.13.x, platform Windows x64, dan paket msi. Jalankan installer grafisnya seperti aplikasi Windows pada umumnya. Alternatif non-administrator: unduh paket zip, ekstrak, lalu tambahkan folder hasil ekstraksi (berisi mongosh.exe) ke environment variable PATH:
tar -xf mongosh-2.13.0-win32-x64.zipMemverifikasi Versi #
Apa pun metode instalasinya, verifikasi mengecek satu hal: perintah mongosh dikenali sistem dan versinya memadai. Jalankan:
mongosh --versionOutput yang Dihasilkan:
2.13.0Bila terminal menjawab command not found, binary mongosh belum berada di PATH — ulangi langkah instalasi dan pastikan penambahan PATH (khususnya pada metode zip di Windows) benar-benar selesai.
Sesi Pertama dan Keluar #
Dengan server lokal yang hidup, jalankan mongosh tanpa argumen apa pun:
mongoshOutput yang Dihasilkan:
Current Mongosh Log ID: 6ad374d3e8ade47a7ac64031
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.13.0
Using MongoDB: 9.0.2
Using Mongosh: 2.13.0
For mongosh info see: https://www.mongodb.com/docs/mongodb-shell/Banner tersebut merangkum tiga informasi penting: alamat yang dicoba dihubungi (Connecting to:), versi server di ujung koneksi (Using MongoDB:), dan versi shell itu sendiri (Using Mongosh:). Nilai Log ID berbeda pada setiap sesi, dan baris Connecting to: memperlihatkan bahwa tanpa argumen mongosh memanggil 127.0.0.1:27017 — persis server yang kita jalankan di Chapter sebelumnya.
Setelah banner, mongosh menampilkan prompt yang siap menerima perintah. Untuk mengenal kemampuannya, kita bisa meminta shell mencantumkan method yang tersedia pada objek database:
db.help()Output yang Dihasilkan (dipotong):
Database Class:
getMongo Returns the current database connection
getName Returns the name of the DB
getCollectionNames Returns an array containing the names of all collections in the current database.
getCollectionInfos Returns an array of documents with collection information, i.e. collection name and options, for the current database.
runCommand Runs an arbitrary command on the database.
adminCommand Runs an arbitrary command against the admin database.
aggregate Runs a specified admin/diagnostic pipeline which does not require an underlying collection.
getSiblingDB Returns another database without modifying the db variable in the shell environment.db.help() mencetak daftar method milik kelas Database beserta ringkasan fungsinya. Dari cuplikan di atas terlihat beberapa method yang akan sering kita pakai di sepanjang Course: getCollectionNames() untuk daftar collection, runCommand() untuk perintah tingkat rendah, dan adminCommand() untuk perintah administratif seperti ping.
Untuk mengakhiri sesi, gunakan salah satu dari tiga cara: ketik exit, ketik quit(), atau tekan Ctrl+D. Semuanya menutup koneksi dengan rapi lalu kembali ke terminal sistem operasi.
Rangkuman #
mongoshadalah shell resmi satu-satunya; shell lamamongosudah tidak ada.- Karena berbasis Node.js,
mongoshmenjalankan ekspresi JavaScript modern, bukan hanya perintah database. - Instalasi:
aptdengan paketmongodb-mongosh,brew install mongosh, atau MSI/ZIP dari MongoDB Download Center. mongosh --versionmemverifikasi instalasi;2.13.0adalah versi yang dipakai Course ini.- Sesi dibuka cukup dengan
mongosh(terhubung ke127.0.0.1:27017) dan ditutup denganexit,quit(), atauCtrl+D.