Cara menggunakan cond mongodb

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 :

  1. Instalasi MongoDB dengan Program file installer
  2. 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:

Cara menggunakan cond mongodb

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

Cara menggunakan cond mongodb

setelah muncul tampian seperti di atas kemudian kilik Next

selanjutnya centang box “I accept …"

Cara menggunakan cond mongodb

selanjutnya klik tombol Complate

Cara menggunakan cond mongodb

Cara menggunakan cond mongodb
klik tombol Next >

Cara menggunakan cond mongodb
jika teman teman ingin sembari melakukan instalasi MongoDB Compass bisa centang box

Cara menggunakan cond mongodb
lalu tunggu sampai proses bar atau loading bar selesai

berikut ini tampilan jika berhasil melakukan installasi MongoDB beserta Mongo Compass tanpa kendala

Cara menggunakan cond mongodb

Cara Menggunakan Compass

setelah berhasil melakukan installasi mari kita coba untuk menggunakan MongoDB Compass untuk perintah dasar

Login MongoDB local server

Cara menggunakan cond mongodb
melakukan koneksi ke jaringan local, maka klik connect

Cara menggunakan cond mongodb
klik bagian tab menu Databases dan klik Create database untuk memulai membuat data base baru

Cara menggunakan cond mongodb
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);
})