Node MongoDB

  • Post
    codeorayo
    Keymaster
    none
    MongoDB menyediakan driver resmi untuk platform Node.js. Module npm ini tersedia di link berikut https://www.npmjs.com/package/mongodb dan dapat dengan mudah di install melalui 

    Code:

    npm

    Code:

    $ npm install –save mongodb

    Penulis mengasumsikan bahwa MongoDB sudah terinstal dan berjalan pada sistem. Untuk memulai koneksi dapat dengan mudah dilakukan seperti script berikut ini,

    Quote:

    app.js

    Code:

    var MongoClient = require(‘mongodb’).MongoClient; var MONGODB_URL = ‘mongodb://localhost:27017/sample’;

    MongoClient.connect(MONGODB_URL, function(err, db){
    err ? console.log(err): console.log(‘Koneksi ke MongoDB Ok!’);
    db.close();
    });

    MongoDB akan membuat database baru jika database tersebut tidak ada, seperti halnya dengan database 

    Code:

    sample

     pada kode diatas karena sebelumnya database ini tidak ada maka secara otomatis MongoDB akan membuatnya. Bentuk umum URI untuk koneksi ke MongoDB adalah seperti berikut

    Code:

    mongodb://:@:/

    Jalankan apikasi di terminal dan jika tidak ada masalah maka akan muncul pesan pada konsol bahwa koneksi ke MongoDB telah sukses.

    Code:

    $ node app.jsKoneksi ke MongoDB Ok!

    Berikutnya akan kita lakukan operasi dasar untuk MongoDB yaitu CRUD tapi sebelumnya kita buat schema terlebih dahulu.

    Quote:

    person.js

    Code:

    function PersonSchema(data) {
    this.nama = data.nama;
    this.email = data.email;
    this.username = data.username;
    };

    module.exports = PersonSchema;

    Schema diatas merupakan model data sederhana yang dituliskan dalam object JavaScript dan tanpa built-in type casting ataupun fitur validasi. Jika anda membutuhkan pemodelan data yang lebih handal dan lebih baik, maka pakailah pustaka ODM (Object-Document Modeler) seperti Mongoose.

    Driver Node MongoDB menyediakan API yang lengkap untuk bekerja dengan database ini. Silahkan lihat link berikut untuk melihat lebih lengkap tentang API ini

    http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#insert

    InsertUntuk memasukkan dokumen bisa memakai metode insertOne() untuk memasukkan satu dokumen

    Quote:

    app.js

    Code:

    /*** Balajar Node – MongoDB
    *
    *
    * MIT
    * Equan Pr. 2015
    */

    var PersonSchema = require(‘./person.js’);
    var MongoClient = require(‘mongodb’).MongoClient;
    var MONGODB_URL = ‘mongodb://localhost:27017/sample’;

    var person = new PersonSchema({
    nama: ‘Kebo Ijo’,
    email: ‘kebo@ijo.xyz’,
    username: ‘obek_rebo’
    });

    MongoClient.connect(MONGODB_URL, function(err, db){
    err ? console.log(err): console.log(‘Koneksi ke MongoDB Ok!’);
    db.collection(‘persons’).insertOne(person, function(err, result){
    if(err){
    console.log(err);
    } else {
    console.log(result);
    }
    db.close();
    })
    });

    Secara otomatis operasi insert ini akan menghasilkan primary key 

    Code:

    _id

     yang unik yaitu berupa 

    Code:

    ObjectId

    . Yang membedakan 

    Code:

    _id

     ini dengan id pada database yang lain adalah dengan 

    Code:

    ObjectId

     bisa didapatkan kapan data ini dimasukkan melalui pemakaian metode 

    Code:

    getTimestamp()

    .

    Code:

    $ mongoMongoDB shell version: 2.6.9
    connecting to: test

    > _id = ObjectId()
    ObjectId(“55d81f48bb934a51424dbd37”)

    > ObjectId(“55d81f48bb934a51424dbd37”).getTimestamp();
    ISODate(“2015-08-22T07:05:44Z”)

    >

    Jika anda mempunyai banyak dokumen, untuk memasukkan dokumen-dokumen tersebut ke collection 

    Code:

    persons

     anda bisa memakai metode 

    Code:

    insertMany()

    .

    UpdateOperasi update data juga cukup mudah apalagi jika anda sangat pahamn tentang MongoDB. Untuk meng-update data bisa dilakukan melalui metode 

    Code:

    updateOne()

     atau 

    Code:

    updateMany()

    .

    Quote:

    app.js

    Code:

    var PersonSchema = require(‘./person.js’);var MongoClient = require(‘mongodb’).MongoClient;
    var MONGODB_URL = ‘mongodb://localhost:27017/sample’;

    var person = new PersonSchema({
    nama: ‘Kebo Ijo’,
    email: ‘kebo@ijo.xyz’,
    username: ‘obek_rebo’
    });

    MongoClient.connect(MONGODB_URL, function(err, db){
    err ? console.log(err): console.log(‘Koneksi ke MongoDB Ok!’);
    db.collection(‘persons’).insertOne(person, function(err, result){
    if(err){
    console.log(err);
    } else {
    console.log(‘Simpan data person ok!’);

    //update data
    var personUpdate = {
    nama: ‘Sukat Tandika’
    }
    db.collection(‘persons’).updateOne({nama: person.nama}, personUpdate, function(err, result){
    if(err) {
    console.log(err);
    } else {
    console.log(‘Data person berhasil dimodifikasi!’);
    }
    db.close();
    })
    }
    })
    });

    Metode 

    Code:

    updateOne()

     mempunyai beberapa argumen seperti berikut

    Code:

    updateOne(filter, update, options, callback)

    Untuk data update anda bisa memakai operator seperti 

    Code:

    $set

     contohnya seperti berikut ini

    Code:

    db.collection(‘persons’).updateOne({nama: person.nama}, {$set:{nama: ‘Angel’}}, function(err, result){ if(err) {
    console.log(err);
    } else {
    console.log(‘Data person berhasil dimodifikasi!’);
    }

    db.close();
    })

    dari beberapa options yang terpenting adalah key 

    Code:

    upsert

     yaitu update insert dan jika option ini diberikan maka jika data yang akan di-update tidak ada maka MongoDB secara otomatis akan membuat data yang baru. Untuk lebih jelasnya anda bisa melihat dokumentasi dari API 

    Code:

    updateOne()

    .

    QueryQuery data pada database MongoDB dapat dengan mudah dilakukan dengan memakai metode 

    Code:

    find()

    , sebagai contoh untuk menemukan data 

    Code:

    person

     pada collection 

    Code:

    persons


    Code:

    MongoClient.connect(MONGODB_URL, function(err, db){ if(!err){
    findPerson({nama: ‘Morbid Angel’}, db, function(err, doc){
    if(!err){
    console.log(doc);
    } else {
    console.log(err);
    }
    db.close();
    });
    } else {
    console.log(err);
    }
    });

    function findPerson(filter, db, callback){
    var cursor = db.collection(‘persons’).find(filter);
    cursor.each(function(err, docResult){
    if(err){
    callback(err, null);
    } else {
    if(docResult != null) {
    console.log(docResult);
    callback(null, docResult);
    } else {
    callback(null, ’empty!’);
    }
    }
    })
    }

    Dengan metode 

    Code:

    find()

     anda bisa memakai operator query seperti 

    Code:

    $lt

    Code:

    $gt

    , operator kondisi 

    Code:

    AND

    Code:

    OR

     dll. Untuk lebih lengkapnya silahkan lihat dokumentasi query dari driver node MongoDB.

    DeleteUntuk menghapus data anda bisa menggunakan fungsi 

    Code:

    deleteOne()

     atau 

    Code:

    deleteMany()

    . Misalnya untuk menghapus semua data pada collection 

    Code:

    persons

     anda bisa menggunakan empty object 

    Code:

    {}

     sebagai query.

    Code:

    function deleteAllPerson(db, callback){ db.collection(‘persons’).deleteMany({}, function(err, rec){
    if(!err) {
    callback(null, rec.result.n);
    } else {
    callback(err, null);
    }
    })
    }

    atau jika ingin menhapus satu data pada collection 

    Code:

    person


    Code:

    fucntion deletePerson(filter, db, callback){ db.collection(‘persons’).deleteOne(filter, function(err, rec){
    if(!err) {
    callback(null, rec.result.n);
    } else {
    callback(err, null);
    }
    })
    }

    Dua fungsi ini bisa anda lihat secara lengkap pada dokumentasi API MongoDB.

    Code:

    https://idjs.github.io/belajar-nodejs/database/node_mongodb.html

    Ampuh! Ini rahasia mengembangkan aplikasi secara instan, tinggal download dan kembangkan. Gabung sekarang juga! Premium Membership [PRIVATE] https://premium.codeorayo.com
  • You must be logged in to reply to this topic.