CoffeeScript - MongoDB
MongoDB adalah database lintas platform, berorientasi dokumen yang menyediakan, kinerja tinggi, ketersediaan tinggi, dan skalabilitas mudah. MongoDB mengerjakan konsep pengumpulan dan dokumen. Untuk informasi lebih lanjut, baca Tutorial MongoDB kami .
Di bab ini Anda akan mempelajari cara berkomunikasi dengan database MongoDB menggunakan CoffeeScript.
Instalasi
Basis data MongoDB dapat diintegrasikan dengan CoffeeScript menggunakan driver Node.js 2.0 dari MongoDB. Pertama-tama Anda perlu menginstal MongoDB di sistem Anda, dengan mengacu pada bab lingkungan dari tutorial MongoDB kami.
Setelah menginstal MongoDB berhasil menelusuri file bin folder (jika Anda belum mengatur jalur) dan mulai layanan MongoDB seperti yang ditunjukkan di bawah ini.
C:\Program Files\MongoDB\Server\3.2\bin> mongod
Akhirnya instal driver MongoDB dan dependensinya dengan menjalankan perintah NPM berikut di command prompt.
npm install mongodb --save
Menghubungkan ke MongoDB
Untuk terhubung ke MongoDB, pertama-tama buat MongoClient menggunakan ini, panggil connect()fungsi. Fungsi ini menerima url, dan fungsi panggilan balik sebagai parameter.
Kode CoffeeScript berikut menunjukkan cara terhubung ke server MongoDB. Jika server MongoDB berjalan di sistem Anda, program ini membuat koneksi ke server.
#Requiring the Mongodb package
mongo = require 'mongodb'
#Creating a MongoClient object
MongoClient = mongo.MongoClient
#Preparing the URL
url = 'mongodb://localhost:27017/testdb'
#Connecting to the server
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Close connection
db.close()
return
Simpan kode di atas dalam file dengan nama connect_db.coffeedan jalankan seperti yang ditunjukkan di bawah ini. Jika database berhasil dibuat maka akan muncul pesan sebagai berikut
c:\> coffee connect_db.coffee
coffee connect_db.collection
Connection established to mongodb://localhost:27017/testdb
Membuat Koleksi
Koleksi di MongoDB menyimpan dokumen yang kami simpan di dalamnya. Anda dapat membuat koleksi dengan menggunakancollection()fungsi. Fungsi ini menerima argumen string yang mewakili nama koleksi yang ingin kita buat.
Kode CoffeeScript berikut menunjukkan cara membuat koleksi di MongoDB. Jika terjadi kesalahan, mereka akan ditampilkan di konsol.
#Requiring the Mongodb package
mongo = require 'mongodb'
#Creating a MongoClient object
MongoClient = mongo.MongoClient
#Preparing the URL
url = 'mongodb://localhost:27017/testdb'
#Connecting to the server
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Create collection
col = db.collection('My_collection')
console.log "Collection created successfully."
#Close connection
db.close()
return
Simpan kode di atas dalam file dengan nama create_collection.coffeedan jalankan seperti yang ditunjukkan di bawah ini. Jika koleksi berhasil dibuat maka akan muncul pesan berikut
c:/> coffee create_collection.coffee
Connection established to mongodb://localhost:27017/testdb
Collection created successfully.
Memasukkan Dokumen
Anda dapat menyisipkan dokumen ke dalam koleksi di MongoDB yang Anda perlukan untuk menjalankan fungsi bernama insert() dengan melewatkan daftar dokumen yang perlu disisipkan, sebagai parameter.
Kode CoffeeScript berikut menunjukkan cara memasukkan dokumen ke dalam koleksi bernama My_collection. Jika terjadi kesalahan, mereka akan ditampilkan di konsol.
#Sample JSON Documents
doc1 = {name: 'Ram', age: 26, city: 'Hyderabad'}
doc2 = {name: 'Rahim', age: 27, city: 'Banglore'}
doc3 = {name: 'Robert', age: 28, city: 'Mumbai'}
#Requiring the Mongodb package
mongo = require 'mongodb'
#Creating a MongoClient object
MongoClient = mongo.MongoClient
#Preparing the URL
url = 'mongodb://localhost:27017/testdb'
#Connecting to the server
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Creating collection
col = db.collection('My_collection')
#Inserting documents
col.insert [doc1,doc2,doc3], (err, result) ->
if err
console.log err
else
console.log "Documents inserted successfully"
#Close connection
db.close()
return
return
Simpan kode di atas dalam file dengan nama insert_documents.coffeedan jalankan seperti yang ditunjukkan di bawah ini. Jika dokumen berhasil dimasukkan maka itu memberikan pesan berikut
c:/> coffee insert_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Documents inserted successfully
Membaca Dokumen
Anda dapat mengambil dokumen yang disimpan di MongoDB menggunakan fungsi bernama find(). Kode CoffeeScript berikut menunjukkan cara mengambil catatan yang disimpan di MongoDB.
#Requiring the Mongodb package
mongo = require 'mongodb'
#Creating a MongoClient object
MongoClient = mongo.MongoClient
#Preparing the URL
url = 'mongodb://localhost:27017/testdb'
#Connecting to the server
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Creating collection object
col = db.collection('My_collection')
#Inserting Documents
col.find({name: 'Ram'}).toArray (err, result)->
if err
console.log err
else
console.log 'Found:', result
#Closing connection
db.close()
return
return
Simpan kode di atas dalam file dengan nama read_documents.coffeedan jalankan seperti yang ditunjukkan di bawah ini. Program ini mengambil dokumen yang diperlukan dalam koleksi yang ditentukan dan menampilkannya seperti yang ditunjukkan di bawah ini.
C:\> coffee read_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Found: [ { _id: 56e269c10478809c3009ad1e,
name: 'Ram',
age: 26,
city: 'Hyderabad' } ]
Anda juga dapat membaca semua dokumen yang ada dalam koleksi tertentu dengan menjalankan find() berfungsi tanpa melewatkan argumen seperti yang ditunjukkan di bawah ini.
#Requiring the Mongodb package
mongo = require 'mongodb'
#Creating a MongoClient object
MongoClient = mongo.MongoClient
#Preparing the URL
url = 'mongodb://localhost:27017/testdb'
#Connecting to the server
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Creating collection object
col = db.collection('My_collection')
#Reading all Documents
col.find().toArray (err, result)->
if err
console.log err
else
console.log 'Found:', result
#Closing connection
db.close()
return
return
Simpan kode di atas dalam file dengan nama read_all_documents.coffeedan jalankan seperti yang ditunjukkan di bawah ini. program ini mengambil semua dokumen dalam koleksi yang ditentukan dan menampilkannya seperti yang ditunjukkan di bawah ini.
C:\> coffee read_all_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Found: [ { _id: 56e2c5e27e0bad741a68c03e,
name: 'Ram',
age: 26,
city: 'Hyderabad' },
{ _id: 56e2c5e27e0bad741a68c03f,
name: 'Rahim',
age: 27,
city: 'Banglore' },
{ _id: 56e2c5e27e0bad741a68c040,
name: 'Robert',
age: 28,
city: 'Mumbai' } ]
Memperbarui Dokumen
Anda dapat memperbarui dokumen yang disimpan di MongoDB menggunakan fungsi bernama update(). Kode CoffeeScript berikut menunjukkan cara memperbarui catatan yang disimpan di MongoDB.
#Get mongo client object
MongoClient = require('mongodb').MongoClient
#Connecting to mongodb
url = 'mongodb://localhost:27017/testdb'
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Creating collection
col = db.collection('My_collection')
#Reading Data
col.update {name:'Ram'},{$set:{city:'Delhi'}},(err, result)->
if err
console.log err
else
console.log "Document updated"
#Closing connection
db.close()
return
return
Program ini memperbarui kota karyawan bernama Ram dari Hyderabad ke Delhi.
Simpan kode di atas dalam file dengan nama update_documents.coffeedan jalankan seperti yang ditunjukkan di bawah ini. program ini mengambil dokumen dalam koleksi yang ditentukan dan menampilkannya seperti yang ditunjukkan di bawah ini.
C:\> coffee update_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Document updated
Setelah memperbarui, jika Anda menjalankan file read_documents.coffee program, maka Anda akan melihat bahwa nama kota dari orang yang bernama Ram diperbarui Hyderabad untuk Delhi.
C:\> coffee Read_all_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Found: [ { _id: 56e2c5e27e0bad741a68c03e,
name: 'Ram',
age: 26,
city: 'Delhi' },
{ _id: 56e2c5e27e0bad741a68c03f,
name: 'Rahim',
age: 27,
city: 'Banglore' },
{ _id: 56e2c5e27e0bad741a68c040,
name: 'Robert',
age: 28,
city: 'Mumbai' } ]
Menghapus Dokumen
Anda dapat menghapus semua dokumen dari koleksi menggunakan remove()fungsi. Kode CoffeeScript berikut menunjukkan cara menghapus semua catatan yang disimpan di MongoDB.
#Get mongo client object
MongoClient = require('mongodb').MongoClient
#Connecting to mongodb
url = 'mongodb://localhost:27017/testdb'
MongoClient.connect url, (err, db) ->
if err
console.log 'Unable to connect . Error:', err
else
console.log 'Connection established to', url
#Creating collection
col = db.collection('My_collection')
#Deleting Data
col.remove()
console.log "Document deleted"
#Closing connection
db.close()
return
Simpan kode di atas dalam file dengan nama delete_documents.coffeedan jalankan seperti yang ditunjukkan di bawah ini. program ini menghapus semua dokumen dalam koleksi tertentu yang menampilkan pesan-pesan berikut.
C:\> coffee delete_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Document deleted
Setelah menghapus, jika Anda menjalankan file read_documents.coffee program, maka Anda akan mendapatkan koleksi kosong seperti yang ditunjukkan di bawah ini.
C:\> coffee Read_all_documents.coffee
Connection established to mongodb://localhost:27017/testdb
Found: [ ]