Di kesempatan kali saya berbagi pengalaman untuk melakukan install MongoDB di sistem operasi windows 10 sampai bisa menjalankan MongoDB di CMD atau membuka mongo shell untuk melakukan perintah dasar mongodb, selain menggunakan CMD atau shell bisa menggunakan MongoDB compass yang memiliki tampilan interface.
Dalam pemanfaatannya MongoDB digunakan untuk menyimpan data berbentuk non relasional database atau disebut sebagai data base dengan konsep Document, struktur datanya berbentuk
JSON (JavaScript Object Notation).
untuk install di sini terdapat 2 cara yaitu dengan :
- Instalasi MongoDB dengan Program file installer
- dengan file project MongoDB yang sudah di build
Instalasi MongoDB dengan Program file installer
Download Program File .msi MongoDB
untuk mendapatkan file .msi
installer MongoDB kita pergi ke MongoDB Community Server for Windows lalu cari tab di sebelah kanan Available Download
seperti yang di tunjukan gambar di bawah ini:
sesuaikan versinya yang dibutuhkan di sini saya saya memilih versi terbaru yaitu versi 5, dan pilih package msi kudian klik download
jika
teman teman mendapatkan kesulitan bisa klik link ini https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-5.0.9-signed.msi file size yang di download sekitar 250MB.
Proses Install MongoDB
jika sudah selali mendownload klik program yang berektensi .msi
maka akan muncul tampilan sepeti di bawah ini
setelah muncul tampian seperti di atas kemudian kilik Next
selanjutnya centang box “I accept …"
selanjutnya klik tombol Complate
klik tombol
Next > jika teman teman ingin sembari melakukan
instalasi
MongoDB Compass bisa centang box
lalu tunggu sampai proses bar atau loading bar selesai
berikut ini tampilan jika berhasil melakukan installasi MongoDB beserta Mongo Compass tanpa kendala
Cara Menggunakan Compass
setelah berhasil melakukan installasi mari kita coba untuk menggunakan MongoDB Compass untuk perintah dasar
Login MongoDB local server
melakukan koneksi ke jaringan local, maka klik connect
klik bagian tab menu
Databases dan klik
Create database untuk memulai membuat data base baru
membuat database dan membuat collection baru, untuk membuat database
baru maka perlu satu collection ketika dibuat pertama kali
Untuk MongoDB 3.6 dan yang lebih baru, gunakan $expr
operator yang memungkinkan penggunaan ekspresi agregasi dalam bahasa permintaan:
var followers_count = 30;
db.locations.find({
"$expr": {
"$and": [
{ "$eq": ["$name", "development"] },
{ "$gte": [{ "$size": "$followers" }, followers_count ]}
]
}
});
Untuk versi yang tidak kompatibel, Anda dapat menggunakan keduanya $match
dan $redact
jalur pipa untuk menanyakan koleksi Anda. Misalnya, jika Anda ingin menanyakan koleksi locations
di mana namanya 'development' dan followers_count
lebih besar dari 30, jalankan operasi agregat berikut:
const followers_count = 30;
Locations.aggregate([
{ "$match": { "name": "development" } },
{
"$redact": {
"$cond": [
{ "$gte": [ { "$size": "$followers" }, followers_count ] },
"$$KEEP",
"$$Prune"
]
}
}
]).exec((err, locations) => {
if (err) throw err;
console.log(locations);
})
atau dalam satu pipa tunggal sebagai
Locations.aggregate([
{
"$redact": {
"$cond": [
{
"$and": [
{ "$eq": ["$name", "development"] },
{ "$gte": [ { "$size": "$followers" }, followers_count ] }
]
},
"$$KEEP",
"$$Prune"
]
}
}
]).exec((err, locations) => {
if (err) throw err;
console.log(locations);
})
Di atas akan
mengembalikan lokasi hanya dengan _id
referensi dari pengguna. Untuk mengembalikan dokumen pengguna sebagai sarana untuk "mengisi" larik pengikut, Anda kemudian dapat menambahkan $lookup
pipa.
Jika versi server Mongo yang mendasarinya adalah 3.4 dan lebih baru, Anda dapat menjalankan pipeline as
let followers_count = 30;
Locations.aggregate([
{ "$match": { "name": "development" } },
{
"$redact": {
"$cond": [
{ "$gte": [ { "$size": "$followers" }, followers_count ] },
"$$KEEP",
"$$Prune"
]
}
},
{
"$lookup": {
"from": "users",
"localField": "followers",
"foreignField": "_id",
"as": "followers"
}
}
]).exec((err, locations) => {
if (err) throw err;
console.log(locations);
})
kalau
tidak Anda perlu $unwind
larik pengikut sebelum menerapkan $lookup
dan kemudian bergabung kembali dengan
$group
pipa setelah itu:
let followers_count = 30;
Locations.aggregate([
{ "$match": { "name": "development" } },
{
"$redact": {
"$cond": [
{ "$gte": [ { "$size": "$followers" }, followers_count ] },
"$$KEEP",
"$$Prune"
]
}
},
{ "$unwind": "$followers" },
{
"$lookup": {
"from": "users",
"localField": "followers",
"foreignField": "_id",
"as": "follower"
}
},
{ "$unwind": "$follower" },
{
"$group": {
"_id": "$_id",
"created": { "$first": "$created" },
"name": { "$first": "$name" },
"followers": { "$Push": "$follower" }
}
}
]).exec((err, locations) => {
if (err) throw err;
console.log(locations);
})