0% menganggap dokumen ini bermanfaat (0 suara)
22 tayangan5 halaman

Cara Konekin Express Js Dan Mongodb

MongoDb

Diunggah oleh

Zulkiflyy
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
22 tayangan5 halaman

Cara Konekin Express Js Dan Mongodb

MongoDb

Diunggah oleh

Zulkiflyy
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Cara konekin express js dan mongodb

1. Buat folder untuk dijadikan direktorinya


2. Npm init
3. Install espress, mongoose, cors, nodemon
4. Di package.json tambahin ini dibagian script

5. Buat folder” dan file”

6. Kemudian di server.js isi

const express = require("express");


const cors = require("cors");

const app = express();

// agar API dapat menerima domain atau host darimana saja


const corsOptions = {
origin: "*"
};

// register cors midleware


app.use(cors(corsOptions));
app.use(express.json());

//membuat route
app.get("/", (req, res)=>{
res.json({message: "hello world"})
});
const PORT = process.env.PORT || 3001;
app.listen(PORT, () => console.log(`Server berjalan pada PORT ${PORT}`));

7. Kemudian cek API di postman dengan http://localhost:3001


8. Kalau berhasil nanti menampilkan message dari console.log
9. Kemudian di file database.js isi

module.exports = {
url: "mongodb://0.0.0.0:27017/express_api"
};

10. Kemudian di file mahasiswa.model.js isikan

module.exports = mongoose => {


const schema = mongoose.Schema ({
nama_lengkap : String,
jenis_kelamin : String,
tanggal_lahir : Date,
tempat_lahir : String,
alamat : String
},{
//setiap kali ada penambahan data nnti ada waktunya
timestamps : true
}
);

schema.method("toJSON", function(){
const {__v, _id, ...Object} = this.toObject();
Object.id = _id;

return Object;
})
return mongoose.model("mahasiswa", schema);
}

11. Kemudian isi ini di index.js pada model

const dbConfig = require("../config/database");


const mongoose = require("mongoose");
module.exports = {
mongoose,
url: dbConfig.url,
mahasiswa: require('./mahasiswa.model.js')(mongoose)
}

12. Kemudian tambahkan ini di server.js

const express = require("express");


const cors = require("cors");
const db = require("./app/models"); //tambahan
const app = express();

// agar API dapat menerima domain atau host darimana saja


const corsOptions = {
origin: "*"
};

// register cors midleware


app.use(cors(corsOptions));
app.use(express.json());

//tambahan =>

// konek ke database
db.mongoose.connect(db.url)
.then(()=> console.log("Database berhasil terkoneksi"))
.catch((err)=> console.log(`Gagal Konek => ${err.message}`))
<= tambahan //

//membuat route
app.get("/", (req, res)=>{
res.json({message: "hello world"});
});

const PORT = process.env.PORT || 3001;


app.listen(PORT, () => console.log(`Server berjalan pada PORT ${PORT}`));

13. Kemudian cek database konek atau belum di compasdb


14. Kalua udah berhasil, isikan controller di controller.js

const db = require("../models");
const Mahasiswa = db.mahasiswa;
//membuat data mahasiswa
exports.create = (req, res) => {
req.body.tanggal_lahir = new Date(req.body.tanggal_lahir)
Mahasiswa.create(req.body)
.then(()=> res.send({message: "Data berhasil disimpan"}))
.catch(err=> res.status(500).send({message: err.message}));
}
//menampilkan data mahasiswa
exports.findAll = (req, res) => {
Mahasiswa.find()
.then(data=> res.send(data))
.catch(err=> res.status(500).send({message: err.message}));
}
//menampilkan 1 data mahasiswa
exports.show = (req, res) => {
const id = req.params.id;
Mahasiswa.findById(id)
.then(data=> res.send(data))
.catch(err=> res.status(500).send({message: err.message}));
}
//mengupdate data mahasiswa
exports.update = (req, res) => {
const id = req.params.id;
req.body.tanggal_lahir = new Date(req.body.tanggal_lahir)
Mahasiswa.findByIdAndUpdate(id, req.body, {useFindAndModify: false})
.then(data=> {
if(!data) {
res.status(404).send({message: "Tidak dapat mengupdate data"})
} res.send({message: "Data berhasil diupdate"})
})
.catch(err=> res.status(500).send({message: err.message}));
}
//menghapus data mahasiswa
exports.delete = (req, res) => {
const id = req.params.id;
Mahasiswa.findByIdAndDelete(id)
.then(data=> {
if(!data) {
res.status(404).send({message: "Tidak dapat menghapus data"})
} res.send({message: "Data berhasil dihapus"})
})
.catch(err=> res.status(500).send({message: err.message}));
}
15. Kemudian isi mahasisw.,rotes.js

module.exports = app => {


const mahasiswa = require("../controllers/mahasiswa.controller")
const r = require("express").Router();
r.get("/", mahasiswa.findAll);
r.get("/:id", mahasiswa.show);
r.post("/", mahasiswa.create);
r.put("/:id", mahasiswa.update);
r.delete("/:id", mahasiswa.delete);

app.use("/mahasiswa", r);
}
16. Kemudian tambahkan routes di server.js

const express = require("express");


const cors = require("cors");
const db = require("./app/models");
const app = express();

// agar API dapat menerima domain atau host darimana saja


const corsOptions = {
origin: "*"
};

// register cors midleware


app.use(cors(corsOptions));
app.use(express.json());

// konek ke database
db.mongoose.connect(db.url)
.then(()=> console.log("Database berhasil terkoneksi"))
.catch((err)=> console.log(`Gagal Konek => ${err.message}`))
// tambahan
//membuat route
require("./app/routes/mahasiswa.routes")(app);
// tambahan
const PORT = process.env.PORT || 3001;
app.listen(PORT, () => console.log(`Server berjalan pada PORT ${PORT}`));
17. Kemudian tes CRUD di postman

Anda mungkin juga menyukai