Build A Restful Api With Node.js Express & MongoDB | Rest Api Tutorial
Vložit
- čas přidán 10. 05. 2019
- Check out my courses and become more creative!
developedbyed.com/
❤Become a patreon for exclusive videos and more!
/ dev_ed
Microphones I Use
Audio-Technica AT2020 - geni.us/Re78 (Amazon)
Deity V-Mic D3 Pro - geni.us/y0HjQbz (Amazon)
BEHRINGER Audio Interface - geni.us/AcbCpd9 (Amazon)
Camera Gear
Fujifilm X-T3 - geni.us/7IM1 (Amazon)
Fujinon XF18-55mmF2.8-4 - geni.us/sztaN (Amazon)
PC Specs
Kingston SQ500S37/480G 480GB - geni.us/s7HWm (Amazon)
Gigabyte GeForce RTX 2070 - geni.us/uRw71gN (Amazon)
AMD Ryzen 7 2700X - geni.us/NaBSC (Amazon)
Corsair Vengeance LPX 16GB - geni.us/JDqK1KK (Amazon)
ASRock B450M PRO4 - geni.us/YAtI (Amazon)
DeepCool ATX Mid Tower - geni.us/U8xJY (Amazon)
Dell Ultrasharp U2718Q 27-Inch 4K - geni.us/kXHE (Amazon)
Dell Ultra Sharp LED-Lit Monitor 25 2k - geni.us/bilekX (Amazon)
Logitech G305 - geni.us/PIjyn (Amazon)
Logitech MX Keys Advanced - geni.us/YBsCVX0 (Amazon)
DISCLAIMERS:
I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.
Twitter: / deved94
Instagram: / developedbyed
Github: github.com/DevEdwin
We are going to cover how to create a restful api using node.js express and mongodb together with mongoose.
Rest apis help us decouple our backend code from our front end so we can use it across multiple application (mobile apps, web apps, etc).
We are going to learn how to build a simple blog post type api with all the useful methods(GET,POST,DELETE,PATCH).
We use Node.js as our backend language, express.js is going to help us create routes easier and middlewares and we use mongodb together with mongoose to create schemas and models that define how our data looks.
If you are a beginner with nodejs, express or mongodb I hope that this tutorial will give you a good idea of how these technologies work well together.
🎵 Music:
Outro:
LAKEY INSPIRED - Me 2 (Feat. Julian Avila)
Music By: / lakeyinspired
Intro:
Dj Quads
Track Name: "Every Morning"
Music By: Dj Quads @ / aka-dj-quads
Creative Commons - Attribution-ShareAlike 3.0 Unported- CC BY-SA 3.0
creativecommons.org/licenses/b...
#mongodb #nodejs #express.js - Věda a technologie
For people visiting this tutorial recently, some important things to note:
1. MLAB is not in function anymore you have to use mongodb atlas.
2. the cluster by default will not allow write access so you have to set it up in settings.
3. At 44:00, remove function is deprecated so you have to use deleteOne function
Can you tell where we have to change the access exactly?
thank you so much! I was like wtf is going on? ahahahaha thanks a lot
Also id recommend using express.json() as a middleware instead of using body parser, since its built in
I’m a student studying CS at Ball State University, IN. I am not someone who would comment on a video on youtube because she likes it. This is legit the first time ONLY to tell you that nobody explains it better. All your videos, be it explaining hooks in React, cool animations or CSS, or this tutorial - they are all explained so well! Thank you for your content.
Spent all day looking for someone to teach it in an understandable way, this ended my search. Thank you!
1 Year later still the best tutorial. Just started NodeJs and this covered mostly all the concepts i needed to build an API. Keep up the good work!!
Please don't stop with this tutorials!! Super awesome for beginners like me.
Good luck friend, although I do not think that this specific tutorial is for beginners because if you already know about these techs then you're not a beginner anymore :)
You are a really good teacher. You don´t just code away but actually take your time to explain what´s happening with each line of code. It makes it so much easier to understand!
Subbed.
Finally found a developer with humor , nice tutorial man
You are literally my favorite teacher on CZcams. You know how to dumb things down to let everyone understand it. Thank you Ed for making things simple!
Thank you for making this, most tutorials I come across are difficult to understand or way too slow. Your pace and explanations for this tutorial is perfect. It is exactly what I was looking for.
Ive watched many Node, Express tutorials. This is, by far, the best one Ive seen. Thank you!
hi i hope u can help me
why middlewares not working ?
app.use not working for me
I loved your teaching style 😍😍.. Keep it up.. It helps us a lot
@Nikolas Ryker i have another scammers thanks alot
I put this on for 10 minutes of background noise while I made my morning coffee and ended up transfixed for the whole thing. Your style is incredibly engaging, I laughed out loud a bunch of times and I could listen to your accent all day. Thanks a lot!
Maaaannn you are my Hero! I struggled so long with all this stuff and finally I really really get it. Thx a lot for your tutorial! It was amazing :D
I really love people that teach code with character, it's so much engaging than being stiff and plain, thank you! Also you can use Yarn instead of npm haha
I was building an API, and this taught me everything! Keep making videos about APIs! Thanks!
Your teaching style never gets me bored. If I can only Subscribe on your channel for a thousand times I'll do it. Keep it up and may you never runs out of energy doing this.
Excellent walkthrough.
Transitioning from Rails + React to Node + React here, somehow this feels way more natural than all the db:migrate commands I've had to type in.
Great tutorial, I'd love to see the front-end as a part two of this tutorial. Keep up the great work!
SIR This has got to be the most clear, concise and well made programming tutorial that I have EVER seen. Please keep making videos in this format. I can't express in words how helpful this video is for me. THANK YOU
I am taking my first steps into junior development.
I was tasked by my mentor to create an API with only 1 Route.
He asked for just a 2 tier database architecture as 3 might have been difficult for me to comprehend.
After a few hours of searching the internet, I stumbled across this video among other older videos.
This was the only tutorial that fundamentally taught me everything i needed to know and more.
Thank you so much for your help!
I cannot wait see what else I can learn in programming :)
"You want a magic trick? I got you!!"
Love it 😀
Dude, you're saving my life. Explained that even I understood whole flow and what each line of code is doing. You definetely should compete for a Nobel Prize or something. Thanks mate!
This is the most productive video I’ve seen in CZcams in my entire life
this one hour video summarize three lectures that are 2h long on my collage. Appriciate your work dude! Thank you
First time viewer here. Love the energy, passion and light hearted humor. Keep up the good work! I believe I got here from Brad Traversy recommending your channel.
This is awesome! well explained, easy to understand and great tempo!
No beating around the bush. Straight to the point. Loved it!
Just created my first API with this tutorial. And, most important, not just copied your code but understood every step. Lott'a loving from Argentina man.
Magic!
Hi Ed, what happened to your Github account? Thanks for the great content!
i finally knew your trick after slow it down on 0.25 speed :)
Awesome tutorial here, been looking for this RESTAPI with async await, it just came at the right time. I would like to see you go in depth with user auth and bcrypt. You just saved a soul
hi why middlewares not working ?
app.use not working for me
Was watching this during quarantine to learn backend a bit more! You have done such a fabulous job! Thanks for simplifying all of this! You are amazing Ed! Keep doing great work! Love your content!
ur a great teacher. ur energy too. usually i start getting sleepy at other tutorials but urs is great
Honestly, I spend 53 minutes and 54 seconds of my life learning something useful. Thank you, Ed. You will have a good love life.
😂 you nailed it
Awesome and thank you...We will love to see you do a series on CRUD app in MERN stack .
Seriously, I love this channel. It's just refreshing to have interesting/funny full-stack instruction, for a change.
It's the first online course that got me excited about coding.
u
hk;
I was doing an online course on node js and would always freak out when it comes to connecting with Mongo db. Literraly stopped continuing on that paid course to return to CZcams and learn it so well from this video. No wonders, you are a great teacher and have bright future. My best wishes and blessings for a great love life as well. Keep up the great work with the same passion and you will see miracles happening in your life. Thanks again. God bless you.
This is an awesome tutorial, THANK YOU
Finally 1080p jesus...
@Jack Rong Nop , I don't think we need that
Nice videos.
Kindly, do a video on MERN
When you init npm add flag -y for standart settings ( npm init -y )
awesome thanks you ed
Just a quick question can we read data from already existing collection in mongo without creating schema?
This tutorial is better than other plenty of hours of videos i've watched... Thanks for making this !!
Unbelievable ! A course 3 months in college is covered in 50 mins. You made my day bro !!
"Good job package.json, you're doing your job!"
I spat my coffee laughing LOL
YOOOOO lol you made me laugh so hard when you were like "I don't know why you would have a price." The way you gave attention to that was just awesome. "let me get rid of that." OMG laughing so hard.
entertaining, short, tips and tricks every thing in a single video, thanks devbyED.
Can't even explain how simple and intuitive this code flow and explanation is. Content like this >>>>>
thanks for the great fundamental tutorial Dev Ed. Hope everything goes right for your love life. If it doesn't go left :)
Love your videos btw. Keep it up
from srilanka
Love from SL
Hi, just ran into this tutorial and you really nailed it. You made it so clear for me to understand. You're a good teacher. I had to quickly subscribe even before finishing the course. Thank you.
I love this guy & his content. He's good at explaining everything and he makes them look like a piece of cake when it's actually the opposite.
Hi Ed. Thanks, really amazing as all of your videos tutorial but honestly I missed the previous videos with the web design, web animations and new techniques you have been teaching us so I hope this is not starting to be only hard core programming channel e.g react and nodejs. I think you are amazing anyway ...
Nope...will cover design 3d and other things too 😀
I think that it will be cool if U make tutorial for authorization (registration, login) app with some other features (for example,using React for front), and show how to integrate that with backend. Thank u for great explaining.
up for this or btw angularjs
guys can some one share working code please (github) devE's link for github in description doesent exist i am having issue writing data to database but i am not getting any errors couldn't figure out trying very hard
@@SivaNare did you find it? i post data from postman but it gives an empty error message while it's not responding the data back.
@@ege2026 i can help
man, I was searching CRUD and everyone making tons of file structure & MVC style, I knew Express has a patch method but no one really used that ...Thanks man
The way you teach is clear and easy to understand for newbies. Best JS tutor on CZcams !!!!!!!
You are the best teacher in the world 🌍
This one is cool tutorial. To the point.
Btw, mlab has been acquired by Mongo atlas. So, everything has been changed
Not really, Mongo atlas is almost identical and it is very easy to go along with the tutorial
The fact that I subscribed just after watching your intro ??
Bruhhhh... Love your energy
Don’t be emotional 😂 Thank you for this good tutorial!
For people having trouble around the 33:00 minute mark when trying to commit a post via Postman I suggest checking your name and password is correct on your mongoDB link.
Its totally correct but still not working
U are right man. It´s a big confusing, but I got it
Thanks.
@@kiranmahajan778 Have you solved ? Commit (save method) is not working and no error message is displayed!
here the solution: check if your ip changed, update your whitelist in the mlab, then it should work
@@robertoradu9965 okay i will try!
Whenever I want to learn something from youtube I search that Keyword and starts watching that videos, but if I don't understand that, I just search for your channel and find that topic, and that's it.
thank you for making these educational videos. ♥♥♥
Best tutorial I have seen on youtube. Had forgot a lot about express and you helped me out. You got a new sub, thank you sir!
Please make a full tutorial building a chat app with React and Firebase! :)
It would be really helpful!
Hi, I'm having problem with postman. Its returning me "could not get any response" when posting "my first post" but prior to that it is showing in the terminal. What could be wrong?
I'm having it too, did you solved it?
then kindly tell me the solution.
did you manage to find the solution to this? im having the same issue.. :(
You are great. The way you are teaching is awesome. This is the first time I watched a whole tutorial video. Thank you for teaching all these in a simple way!
This is the best explanation I could get from someone. Thanks a lot Ed for this and keep making more.
Hey I'm getting error on the time interval of 33:47 to 35:54
were there is new (first) data generate for the mongoose with post. For me its just going into the ".catch" instead of the ".then"
did you manage to find the solution to this? im having the same issue.. :(
@@kristboshnjaku135
try {
const savedPosted = await post.save();
res.json(savedPosted);
}catch(err) {
res.json({ message: err });
}
@@kristboshnjaku135 Try this out and also one more thing make sure you have your ip address connected to the altas mongo db because when you run on localhost it won't with just db user and password you will need to config the ip address.
@@kristboshnjaku135 These 2 thing resolved my issue.
@@jaydesai1430 hi Jay, sorry to say but this didn't help; still catching the error not the post itself in Postman.
I'm following along the tutorial but Postman is stuck at "Sending" @ 34:12
It prints console log message but nothing with mongoDB... I see nothing nothing updated in MongoDB atlas too.
Please reply as to what could the solution to the problem be?
Same
Check your DB connection string
same problem. I tried retrieving the connection string again, no luck. seems to be a problem with the promise, or postman not working with the db. my postman console log shows Error: socket hang up on the post requests im sending after they fail - looked online for context/resolution, not much help.. only thing i could find that might help is about making sure the proxy is configured correctly. thats outside my wheelhouse, i just made sure to turn off any proxy in postman via settings>proxy, still no luck.
Hi. I am facing the same issue. Do u guys able to find a solution?
I had the same issue. It took me hours to catch the issue.. I spelled mongoose with a capitial "M" as in const mongoose = require('Mongoose') thus all of my db operations timed out.
Dev, u just made my undderstanding of rest API much easier, just 15 min into your vid and am loving your presentation. thank you sooooo much...
Your love life is great cause you are giving alot of informations to people and they actually love you and your style. Keep it up man!
Hey Ed, are you pretending to create a frontend tutorial to interact with this REST API ?
hey, mlab site says this - "mLab is no longer accepting new customers.
Sign up below for MongoDB Atlas, a fully managed database-as-a-service." i've registered, but i can't login on mlab site since it asks for my username, and when i provide my email as an username, i get an error stating that username or password are wrong. the only thing i can log in is that mongodb atlas and i have no idea what it is. however, there is no chance to get to that point where you are creating database. do you (or someone else) might know what's it all about ? thanks in advance!
I'm facing same issue with mlab I'm unable to sign-in with the credentials of the mongodb atlas. How to get proceed with mlab with MongoDB Atlas Credentials.
just another comment saying how good of a teacher you are... making me laugh while im learning is going to keep my attention longer and you are a part comedian too. thanks so much for your service!
Couldn't wrap my head around even the basics of Express until I watched this. Excellent tutorial.
use mongodb atlas instead of mlab, cause is has been acquired, great tutorial
By MongoDB
Mlab is Now part of the MongoDB family... so atlas too :)
can anyone tell me how to do that??
@@sahelee1 did you know how to do that?
Hey man, I need help. I am totally new to Express+Mongo, I have done exactly what you have showed. Its getting connected to database too. But when I am trying to post(save) data to database, its not showing any result( res.json(data) is not coming up in postman). What I think is happening is I have not mentioned the collection name. Do we need to specify the collection name too in Schema. if yes, could you please provide me with full details. Thanks in advance
Did you manage to fix this??
@@chanellesesh4977 yes. We need to pass the collection name as a parameter if the collection is already created in the database. In my case, I wanted to use one of the collection already provided in Mongo Db Atlas. So I just pass the name of the collection as a parameter in the Schema. That's it.
@ yeah sure
const GradesSchema = mongoose.Schema({
recrd : {
type : String
},
vesslterms : {
type : String
},
feature_type :{
type : String
},
chart :{
type : String
},
latdec :{
type : Number
},
londec :{
type : Number
},
gp_quality :{
type : String
},
depth :{
type : String
},
sounding_type :{
type : String
},
history :{
type : String
},
quasou : {
type : String
},
watlev: {
type : String
}
}, {collection : 'shipwrecks'});
The 'shipwrecks' being the collection name.
@ are you giving the right database name in the connection url? Change the 'test' part with your database name in the connection url
{ useNewUrlParser: true, useUnifiedTopology: true }, add this to your app.js file inside mongoose.connect
You're the best teacher for NodeJS REST API on CZcams :D thanks a lot
You just got yourself a new subscriber and a fan thanks for this, I've been struggling with this for months..
Let me guess the one dislike on this video is a PHP developer.
😕 I don't think so.. I am PHP developer, but I have always wanted to start with something like this. This guy is a hero for me. I have immediately subscribed and liked this video. I wish he had zero dislikes.
Php devs don't love themselves
@@ajricherson1099 We don't love our selfs but we are selfless!
@@peefg no, probably thats Java guys
wow that's not sarcastic at all!!!!
When I post, the json file comes only with message={} , and it doesnt post anything to mongodb atlas. Help
did you manage to find the solution to this? im having the same issue.. :(
@@kristboshnjaku135 I manage to fix it:
const express = require('express');
const router = express.Router();
const Film = require('../models/Film');
router.get('/', (req, res) => {
console.log("We are on films GET");
res.send('We are on films GET');
});
router.post('/', (req,res) => {
console.log("We are on films POST");
console.log(req.body);
res.send('We are on films POST');
});
module.exports = router;
just edit films to whatever u want
@@santiagowhite5467 You managed to run the code and get the console.log work, but did you actually manage to insert your data to the db? that's the problem here...
@@kristboshnjaku135 I did, I suggest you watch a more recent video by Dev Ed in which he uses mongodb atlas, where he takes all steps necessary to ensure connectivity with db. The name of the video is “build a nodejs api authentication (...)”. He builds a rest api aswell.
@@santiagowhite5467 Ok, I'll give it a try... I'm still confused why it's just catching the error instead of the data first :p At least I can get it working..
Much appreciated bud!
You're so awesome! I never imagined that I can quickly understand the CRUD in RESTful API until I saw your video. Thank you so much!
I love this man for the way he explains stuff. Bless your heart :D
somehow this syntax at 29:13 worked for Ed but not for me...
router.post("/", (req, res) => {
console.log(req.body);
});
...when sending a POST request with Postman, I could not get any response
SOLUTION:
router.post("/", (req, res) => {
res.send(console.log(req.body));
});
INSTEAD OF
router.post("/", (req, res) => {
console.log(req.body);
});
I have no idea what I'm doing but this worked for me !
did you manage to find the solution to this? im having the same issue.. :(
facing same issue.. i am just getting:
{
"message": {}
}
@Krist Boshnjaku and @Ayesha Shabbir
Did you try
res.send(console.log(req.body));
INSTEAD OF
console.log(req.body); ?
That worked for me three months ago.
Yes I tried res.send at first but it didn't work ..so just for checking I changed it to console.log to see whats happening.
@@Scapben i'll check it again!!
10:40 "It says to connect use driver blah blah blah blah here" ... This is pretty much how I read documentation..
best course to learn about node js for beginners . Don't search for any other course just continue his technique it's worth a time.
Slowly backend stuff gets demystified thanks to your amazing tutorials! 💛
Love this tutorial, but also “authentificated” is not a word 😂
😂
7:52 Authentification?
Now you're my favourite CZcamsr 😍 a whole month of my life in less than and hour
This is straight gas. studying for an interview and this is a massif lifesaver
I'm following all the way up until 34:00(ish) for some reason when in postman I can't see the object created with the id, title, desc, etc"
You need to put const bodyParser = require('body-parser'); ABOVE const app = express(); and it should work - took me 2h to figure it out and it's not in the vid
@@mattbra1397 in postman use x-www-form-urlencoded mode dont use raw its work it to me
@@BodrumDrone thanks for the info - we got now two solutions to the issue :)
@@mattbra1397 i follow all information about solution.
i get postman to console the first post but when i try to get it in postman it gives me only the error part. i tried with x-www-form-urlencoded, same thing. looked online for other solutions, nothing worked
You literally make the best tutorials on CZcams
After investing money on udemy courses and countless hours of navigating through complicated documentation and tutorials accross the web, I was finally able to build my first REST Api with the help of this video and not only did I built it, I also grasped the fundamental architecture of the implementation of REST in Node.js world. Thanks a lot for making my day.
Liked, shared and subscribed! 😊♥
Great tutorial, helped me solve all my problems I ran into in my project. You're amazing Dev Ed!
it's just great. i learned entire node js structure in one tutorial. i'm a dot net developer and was looking for similar to the point content. great content
Thank you very much for this amazing video! Amazing teaching style, very clear explanation and most importantly I couldn't stop laughing. This is the first 1h video that I wish it was longer. I usually feel bored watching a 17 min video and end up speeding it up (if I don't find a shorter one lol) but in this video, the hour flew and I felt I spent only few minutes. Please don't stop making amazing videos (and you can tell me if your love life is still not great :p )
Your energy was super high & explanation was so clear. Thanks a lot ;)
your tutorial is the best I've found, and I want to express my heartfelt thanks for your excellent teaching.
Apart from being a pretty interesting teacher, you just make me laugh. You have a great personality and vibe
This is tutorial perfect, this is what I have been looking for for a long time. Thank you from VietNam !
I'm getting an error named post.save(..).then(..).catch() is not a function can you help me out with this plzzz
you look sooooooo happy, and it really makes student like me feel relaxed.
You are the most fun youtube teacher I have ever seen
Thanks! I tried different tutorials and yours where super easy and fun to watch and you explain great! I understand now a lot of things I use everyday at work and finally are able to build this stuff from zero myself. Its so easy!