Tutorial kali ini kita akan membahas Tutorial CRUD di MongoDB. yang belum instal dan mengerti tentang mongodb silahkan baca tutorial sebelumnya Install MongoDB Di Windows 10.
Baca Sebelumnya - Tutorial Install MongoDB Di Windows 10
Adapun pengertian MongoDB merupakan sebuah model database bergaya NoSQl (Not Only SQL) dimana tidak menggunakan relasi antar tabel dan tidak menyimpannya dalam format tabel baku. MongoDB menggunakan struktur data JSON (Javascript Object Notation) untuk menyimpan datanya, Disni kita akan membuat database sekolah dan tabel/collection siswa.
Baca Juga : Insert Data dengan NodeJS di MongoDB
Baca Juga : CRUD dengan ExpressJS dan Mongoose
Buka dulu CMD dan masuk ke folder mongodb yang ada di direktori C:
C:\Users\RSAM>cd ../../mongodb/bin/
Setelah itu tulis perintah yang ada di bawah untuk memulai.
C:\mongodb\bin>mongo 127.0.0.1
Create database sekolah
Create tabel atau collection siswa
Insert Data
Diatas kita membuat 3 data siswa. Perhatikan bahwa tidak ada istilah kolom dalam database MongoDB. Kita bebas menginsert data nama dan alamat ataupun cuma nama doang . Jika kita butuh kolom tambahan, tidak ada perubahan schema didatabase, cukup insert dengan pola diatas. Sekali lagi, MongoDB bersifat Dynamic Schema, tidak ada namanya alter tabel add kolom atau alter tabel drop colom.
View Data
Perhatikan field _id, ini adalah primar key di tabel mongoDB. Primary key selalu menggunakan kolom _id dan isinya dibuat secara otomatis, user tidak bisa membuat primary key sendiri.
View kolom tertentu
Search Data siswa
Update Data siswa
Delete Data
Delete Tabel siswa
Delete Database sekolah
> use sekolah
switched to db sekolah
Create tabel atau collection siswa
> db.createCollection('siswa');
{ 'ok' : 1 }Insert Data
> db.siswa.insert({ nama:'Raka', Alamat:'Lembursitu' })
WriteResult({ 'nInserted' : 1 })
> db.siswa.insert({ nama:'Agus', Alamat:'Warudoyong' })
WriteResult({ 'nInserted' : 1 })
> db.siswa.insert({ nama:'Anisa' })
WriteResult({ 'nInserted' : 1 })
Diatas kita membuat 3 data siswa. Perhatikan bahwa tidak ada istilah kolom dalam database MongoDB. Kita bebas menginsert data nama dan alamat ataupun cuma nama doang . Jika kita butuh kolom tambahan, tidak ada perubahan schema didatabase, cukup insert dengan pola diatas. Sekali lagi, MongoDB bersifat Dynamic Schema, tidak ada namanya alter tabel add kolom atau alter tabel drop colom.
View Data
db.siswa.find()
{ "_id" : ObjectId("5e7c6cd923a5b3231c48edc6"), "nama" : "Raka", "Alamat" : "Lembursitu" }
{ "_id" : ObjectId("5e7c6ceb23a5b3231c48edc7"), "nama" : "Agus", "Alamat" : "Warudoyong" }
{ "_id" : ObjectId("5e7c6cf523a5b3231c48edc8"), "nama" : "Anisa" }
> db.siswa.find().pretty()
{
"_id" : ObjectId("5e7c6cd923a5b3231c48edc6"),
"nama" : "Raka",
"Alamat" : "Lembursitu"
}
{
"_id" : ObjectId("5e7c6ceb23a5b3231c48edc7"),
"nama" : "Agus",
"Alamat" : "Warudoyong"
}
{ "_id" : ObjectId("5e7c6cf523a5b3231c48edc8"), "nama" : "Anisa" }
Perhatikan field _id, ini adalah primar key di tabel mongoDB. Primary key selalu menggunakan kolom _id dan isinya dibuat secara otomatis, user tidak bisa membuat primary key sendiri.
View kolom tertentu
> db.siswa.find({},{"nama":1})
{ "_id" : ObjectId("5e7c6cd923a5b3231c48edc6"), "nama" : "Raka" }
{ "_id" : ObjectId("5e7c6ceb23a5b3231c48edc7"), "nama" : "Agus" }
{ "_id" : ObjectId("5e7c6cf523a5b3231c48edc8"), "nama" : "Anisa" }
> db.siswa.find({},{"nama":1,_id:0})
{ "nama" : "Raka" }
{ "nama" : "Agus" }
{ "nama" : "Anisa" }
Search Data siswa
> db.siswa.find({nama:"Raka"}).pretty()
{
"_id" : ObjectId("5e7c6cd923a5b3231c48edc6"),
"nama" : "Raka",
"Alamat" : "Lembursitu"
}Update Data siswa
> db.siswa.update({nama:"Agus"},{$set:{Alamat:"Gunung Puyuh"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.siswa.find({nama:"Agus"}).pretty()
{
"_id" : ObjectId("5e7c6ceb23a5b3231c48edc7"),
"nama" : "Agus",
"Alamat" : "Gunung Puyuh"
}
Delete Data
> db.siswa.remove({nama:"Raka"})
WriteResult({ "nRemoved" : 1 })
Delete Tabel siswa
> db.siswa.drop()
true
Delete Database sekolah
> db.dropDatabase()
{ "dropped" : "sekolah", "ok" : 1 }
