Cara menggunakan mongodb in array

Berbeda dengan SQL, MongoDB ada cara query tersendiri untuk mengolah data. Tabel di MongoDB biasa disebut collection dan query untuk mencari data tertentu disebut sebagai criteria.

Untuk instalasi MongoDB dapat dilihat melalui postingan sebelumnya tentang cara instalasi dan menjalankan MongoDB.

Berikut ini adalah query MongoDB yang sering saya gunakan dan akan terus saya update jika ada yang baru.

Daftar Isi

1. Mencari Data Dalam Array of Object Dengan dan Tanpa elemMatch

Misal ada kolom berisi data suatu array.

{
  name: "Example Name",
  description: [
    {
      language: "id",
      detail: "contoh deskripsi"
    },
    {
      language: "en",
      detail: "example description"
    }
  ]
}

Query MongoDB mencari detail description berisi “example description”.

db.getCollection('example_collection').findOne({"description.detail": "example description"})

Query diatas bisa juga diganti dengan

db.getCollection('example_collection').findOne({"description.detail": "example description"})
5 dimana berdasarkan pengalaman memiliki performansi yang lebih baik ketika data kita banyak

db.getCollection('example_collection').find({description: {$elemMatch: {language: "id", detail: "contoh deskripsi"}}})

2. Hapus Satu Baris

Contoh query menghapus baris dengan menggunakan ID.

// Hapus satu baris
db.getCollection('example_collection').remove({_id: ObjectId("5bf70ac567f041b69724f910")})

// Hapus semua baris, tapi tidak menghapus collection / tabel
db.getCollection('example_collection').remove({})

3. Hapus Suatu Data Dalam List atau Array

Misal ada data seperti berikut:

{
  name: "Example Name",
  description: [
    "hello",
    "world"
  ]
}

Query MongoDB untuk menghilangkan “hello”.

db.getCollection('example_collection').update({ _id: ObjectId("5d892ab3e9e671026a904938")}, {$pull: {description: "hello"}})

4. Ubah atau Update Data

Query ubah data berdasarkan suatu ID dan mengubah isi dari

db.getCollection('example_collection').findOne({"description.detail": "example description"})
6.

// update satu baris
db.getCollection('example_collection').updateOne({_id: ObjectId("5d8927e1a344a7b795a19746")}, {$set: {exampleColumn: "new value"}})

// update banyak baris
db.getCollection('example_collection').updateMany({someColumn: {$eq: null}}, {$set: {exampleColumn: "new value"}})

5. Mencari Data yang Tidak Memiliki Kolom Tertentu atau Tidak Exists

Dengan menggunakan

db.getCollection('example_collection').findOne({"description.detail": "example description"})
7 dapat dicari semua baris yang tidak memiliki kolom tersebut.

db.getCollection('example_collection').find({name: "example", exampleColumn: {$exists: false}})

6. Mencari Kolom yang Exists, Namun Berisi Null

Query untuk mencari semua baris yang memiliki

db.getCollection('example_collection').findOne({"description.detail": "example description"})
6 berisi
db.getCollection('example_collection').findOne({"description.detail": "example description"})
9.

db.getCollection('example_collection').find({name: "example", exampleColumn: {$eq: null}})

7. Mencari Kolom yang Tidak Exists atau Berisi Null

Query berikut untuk mencari semua baris yang memiliki

db.getCollection('example_collection').findOne({"description.detail": "example description"})
6 berisi
db.getCollection('example_collection').findOne({"description.detail": "example description"})
9 atau semua baris yang tidak memiliki
db.getCollection('example_collection').findOne({"description.detail": "example description"})
6.

db.getCollection('example_collection').find({name: "example", exampleColumn: null})

8. Mencari Kolom yang Exists dan Tidak Berisi Null

Query untuk mencari semua baris yang memiliki

db.getCollection('example_collection').findOne({"description.detail": "example description"})
6 tidak berisi
db.getCollection('example_collection').findOne({"description.detail": "example description"})
9.

db.getCollection('example_collection').findOne({"description.detail": "example description"})
0

9. Operator $nin

Operator untuk mencari yang “not in”, contohnya adalah sebagai berikut dimana digunakan query mencari semua baris yang memiliki tidak memiliki kolom

db.getCollection('example_collection').find({description: {$elemMatch: {language: "id", detail: "contoh deskripsi"}}})
5 berisi
db.getCollection('example_collection').find({description: {$elemMatch: {language: "id", detail: "contoh deskripsi"}}})
6 dan
db.getCollection('example_collection').find({description: {$elemMatch: {language: "id", detail: "contoh deskripsi"}}})
7.

db.getCollection('example_collection').findOne({"description.detail": "example description"})
1

10. Replace String Suatu Kolom Pada Semua Baris Dengan Criteria Tertentu

Misal ada collection MongoDB dengan data sebagai berikut.

db.getCollection('example_collection').findOne({"description.detail": "example description"})
2

Berikut ini adalah contoh mencari semua

db.getCollection('example_collection').find({description: {$elemMatch: {language: "id", detail: "contoh deskripsi"}}})
8 yang mengandung kata contoh dan diganti dengan example.

db.getCollection('example_collection').findOne({"description.detail": "example description"})
3

11. Hapus Semua Baris Berdasarkan Criteria Tertentu

Dengan menggunakan contoh collection sebelumnya, berikut ini adalah contoh mencari semua

db.getCollection('example_collection').find({description: {$elemMatch: {language: "id", detail: "contoh deskripsi"}}})
8 yang mengandung kata contoh dan menghapus baris tersebut.

MongoDB digunakan untuk apa?

3. Cocok Untuk Menampung Data yang Bervariasi Dynamic schema membuat MongoDB cocok untuk menampung data yang bervariasi baik digunakan untuk menyimpan data yang terstruktur ataupun yang tidak terstruktur.

MongoDB menggunakan bahasa apa?

MongoDB sendiri ditulis dengan bahasa C++ dan telah tersedia untuk berbagai jenis bahasa pemrograman. Fitur utama dari mongoDB antara lain: model document-oriented storage.

Mengapa MongoDB disebut basis data non relasional?

MongoDB merupakan sebuah database yang memiliki konsep NoSQL. Istilah ini dapat diartikan secara awam dengan non relasional karena berbeda dengan MySQL yang merupakan RDBMS (relational database management system).

Jelaskan langkah langkah dalam instalasi MongoDB?

Proses Install MongoDB.
jika sudah selali mendownload klik program yang berektensi .msi maka akan muncul tampilan sepeti di bawah ini..
selanjutnya centang box “I accept …".
selanjutnya klik tombol Complate..
klik tombol Next >.
jika teman teman ingin sembari melakukan instalasi MongoDB Compass bisa centang box..