Analisa MongoDB, Perbedaan Query


MongoDB memang sedikit berbeda dengan DBMS lain. Dengan melakukan percobaan terhadap MongoDB, maka dapat diperoleh hasil berikut:
a.         MongoDB dijalankan dengan setidaknya 2 windows command prompt. Satu untuk menjalankan mongod.exe dan satu untuk menjalankan mongo.exe. Mongod.exe(Mongo Daemon) merupakan server, sedangkan mongo.exe merupakan shell yang dapat digunakan untuk melakukan administrasi dan manajemen database.
b.        MongoDB tidak mengenal tabel, kolom, dan record. Suatu database pada MongoDB hanya mengenal koleksi dan dokumen. Koleksi dalam MongoDB diibaratkan sebagai sebuah folder dan dokumen diibaratkan sebagai file dalam folder tersebut. Jika dibandingkan dengan RDBMS seperti MySQL, maka koleksi diibaratkan sebagai tabel dan dokumen diibaratkan sebagai record dalam tabel tersebut.
c.         MongoDB sangat berbeda dengan RDBMS. Pada MongoDB, setiap dokumen dalam koleksi dapat memiliki field yang berbeda. Hal ini tidak dapat dilakukan di RDBMS karena dalam sebuah tabel, tidak mungkin antara satu record dengan record lain memiliki field berbeda-beda.
d.        Setiap dokumen yang disimpan pada MongoDB akan mendapatkan objectID secara otomatis, sehingga tiap dokumen akan memiliki nilai unik tanpa harus diinputakan secara manual.
e.         MongoDB bersifat schemaless. Tidak perlu mendefinisikan kebutuhan data dengan detail, memecahnya ke dalam tabel-tabel, menentukan field yang harus dijadikan primary key, dan foreign key, membuat ERD kemudian menuangkannya ke dalam diagram relasi antar tabel terlebih dahulu. Untuk membuat database dalam MongoDB, cukup dengan mendefinisikan data-data yang dibutuhkan kemudian database tersebut dapat langsung dibuat.
f.         MongoDB memiliki syntax yang lebih ringkas, akan tetapi akan terasa asing jika belum terbiasa dibandingkan dengan RDBMS MySQL.
Tabel  Perbandingan Syntax SQL dan MongoDB
SQL
MongoDB
Create database akademik
Use akademik
Insert into mahasiswa(nip, nama, jurusan) values (‘3105111280’, ’Ahmad Soffa’,’Informatika’)
Db.mahasiswa.save({nip:’3105111280’, ‘Ahmad Soffa’,’Informatika’})
Select * from mahasiswa
Db.mahasiswa.find()
Select * from mahasiswa where nama=’Ahmad Soffa’
Db.mahasiswa.find({nama=’Ahmad Soffa’})
Update mahasiswa set jurusan= ’Teknik Informatika’ where nim=’3105111280’
Db.mahasiswa.update(
{nim:’3105111280’},
{$set:{jurusan:’Teknik Informatika’}}, false, true)
Delete from mahasiswa where nim=’3105111280’
Db.mahasiswa.remove(
{nim:’3105111280’}
)
Select * from user where age=33
Db.user.find({age:33})
Select * from user where age>33
Db.user.find({age{$gt:33}})
Select * from user where age<33
Db.user.find({age:{$lt:33}})
Select * from user where age<33 and age>=17
Db.user.find({age:{$lt:33,$gte:17}})
Select * from user where a=1 or b=2
Db.user.find({$or:[{a:1},{b:2}]})
Select nama, age from user where age=33
Db.user.find({age:33},{nama:1,age:1})
Select * from user order by nama
Db.user.find().sort({nama:1})
Select * from user order by nama desc
Db.user.find().sort({nama:-1})
Select * from user where nama like ‘%Ahmad%’
Db.user.find({nama:/Ahmad/})
Select count(*) from user
Db.user.count()



Posting Komentar

0 Komentar