Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) _ Adrian Mejia Blog
Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) _ Adrian Mejia Blog
Welcome to this tutorial about RESTful API using Node.js (Express.js) and MongoDB
(mongoose)! We are going to learn how to install and use each component
individually and then proceed to create a RESTful API.
“ Check out the updated version of this post with Angular 9+, Node.js 12+ in here:
Modern MEAN Stack Tutorial with Docker
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 1/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
2. Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) 👈 you are
here
3. MEAN Stack Tutorial: MongoDB, ExpressJS, AngularJS and NodeJS (Part III)
In this section, we are going to install the backend components of the MEAN stack:
MongoDB, NodeJS and ExpressJS. If you already are familiar with them, then jump
to wiring the stack. Otherwise, enjoy the ride!
Installing MongoDB
MongoDB is a document-oriented NoSQL database (Big Data ready). It stores data in
JSON-like format and allows users to perform SQL-like queries against it.
In Ubuntu:
1 ## Mac
2 mongod --version
3 ## => db version v2.6.4
4 ## => 2014-10-01T19:07:26.649-0400 git version: nogitversion
5
6 ## Ubuntu
7 mongod --version
8 ## => db version v2.0.4, pdfile version 4.5
9 ## => Wed Oct 1 23:06:54 git version: nogitversion
Installing NodeJS
The Node official definition is:
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 3/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in
the world.
In short, NodeJS allows you to run Javascript outside the browser, in this case, on the
web server. NPM allows you to install/publish node packages with ease.
Since Node versions changes very often. You can use the NVM (Node Version
Manager) on Ubuntu and Mac with:
1 ## download NPM
2 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/insta
3
4 ## load NPM
5 export NVM_DIR="$HOME/.nvm"
6 [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
7
8 ## Install latest stable version
9 nvm install stable
After you got it installed, check node version and npm (node package manager)
version:
1 node -v
2 ## => v6.2.2
3
4 npm -v
5 ## => 3.9.5
Installing ExpressJS
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 4/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
ExpressJS is a web application framework that runs on NodeJS. It allows you to build
web applications and API endpoints. (more details on this later).
We are going to create a project folder first, and then add express as a dependency.
Let’s use NPM init command to get us started.
Notice that after the last command, express should be added to package.json with
the version 4.14.x .
If you followed the previous steps, you should have all you need to complete this
tutorial. We are going to build an API that allow users to CRUD (Create-Read-Update-
Delete) Todo tasks from database.
Mongoose CRUD
CRUD == Create-Read-Update-Delete
We are going to create, read, update and delete data from MongoDB using
Mongoose/Node. First, you need to have mongodb up and running:
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 5/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Keep mongo running in a terminal window and while in the folder todoApp type
node to enter the node CLI. Then:
Great! Now, let’s test that we can save and edit data.
Mongoose Create
1
2 // Create a todo in memory
3 var todo = new Todo({name: 'Master NodeJS', completed: false, note: 'G
4
5 // Save it to database
6 todo.save(function(err){
7 if(err)
8 console.log(err);
9 else
10 console.log(todo);
11 });
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 6/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
If you take a look to Mongo you will notice that we just created an entry. You can
easily visualize data using Robomongo:
You can also build the object and save it in one step using create :
Some examples:
Find all
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 7/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
results
1 [ { _id: 57a6116427f107adef36c2f2,
2 name: 'Master NodeJS',
3 completed: false,
4 note: 'Getting there...',
5 __v: 0,
6 updated_at: 2016-08-06T16:33:40.606Z },
7 { _id: 57a6142127f107adef36c2f3,
8 name: 'Create something with Mongoose',
9 completed: true,
10 note: 'this is one',
11 __v: 0,
12 updated_at: 2016-08-06T16:45:21.143Z } ]
Chaining queries
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 8/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Mongoose Update
Moving on, we are now going to explore how to update data.
Each model has an update method which accepts multiple updates (for batch
updates, because it doesn’t return an array with data).
Alternatively, the method findOneAndUpdate could be used to update just one and
return an object.
1
2 // Model.update(conditions, update, [options], [callback])
3 // update `multi`ple tasks from complete false to true
4
5 Todo.update({ name: /master/i }, { completed: true }, { multi: true },
6
7 //Model.findOneAndUpdate([conditions], [update], [options], [callback])
8 Todo.findOneAndUpdate({name: /JS$/ }, {completed: false}, callback);
As you might noticed the batch updates ( multi: true ) doesn’t show the data, rather
shows the number of fields that were modified.
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 9/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
1 { ok: 1, nModified: 1, n: 1 }
Mongoose Delete
update and remove mongoose API are identical, the only difference it is that no
elements are returned. Try it on your own ;)
Model.remove(conditions, [callback])
Model.findByIdAndRemove(id, [options], [callback])
Model.findOneAndRemove(conditions, [options], [callback])
Middlewares are pluggable processors that runs on each request made to the
server. You can have any number of middlewares that will process the request one by
one in a serial fashion. Some middlewares might alter the request input. Others,
might create log outputs, add data and pass it to the next() middleware in the
chain.
We can use the middlewares using app.use . That will apply for all request. If you
want to be more specific, you can use app.verb . For instance: app.get, app.delete,
app.post, app.update, …
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 10/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
res : is the response object where we can send the reply back to the client.
next : continue with the next middleware in the chain.
You can also specify a path that you want the middleware to activate on.
And finally you can use app.get to catch GET requests with matching routes, reply
the request with a response.send and end the middleware chain. Let’s use what we
learned on mongoose read to reply with the user’s data that matches the id .
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 11/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Notice that all previous middlewares called next() except this last one, because it
sends a response (in JSON) to the client with the requested todo data.
Hopefully, you don’t have to develop a bunch of middlewares besides routes, since
ExpressJS has a bunch of middlewares available.
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 12/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
errorhandler: Aid development, by sending full error stack traces to the client
when an error occurs. app.use(errorhandler()) . It is good practice to
surround it with an if statement to check process.env.NODE_ENV ===
'development' .
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 13/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Bootstrapping ExpressJS
After a detour in the land of Node, MongoDB, Mongoose, and middlewares, we are
back to our express todoApp. This time to create the routes and finalize our RESTful
API.
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 14/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
13 ## create : todo-api/routes/index.js
14 ## create : todo-api/routes/users.js
15 ## create : todo-api/public/stylesheets
16 ## create : todo-api/public/stylesheets/style.css
17 ## create : todo-api/views
18 ## create : todo-api/views/index.ejs
19 ## create : todo-api/views/layout.ejs
20 ## create : todo-api/views/error.ejs
21 ## create : todo-api/public/images
22 ## create : todo-api/bin
23 ## create : todo-api/bin/www
24 ##
25 ## install dependencies:
26 ## $ cd todo-api && npm install
27 ##
28 ## run the app on Linux/Mac:
29 ## $ DEBUG=todo-app:* npm start
30 ##
31 ## run the app on Windows:
32 ## $ SET DEBUG=todo-api:* & npm start
This will create a new folder called todo-api . Let’s go ahead and install the
dependencies and run the app:
1 ## install dependencies
2 cd todo-api && npm install
3
4 ## run the app on Linux/Mac
5 PORT=4000 npm start
6
7 ## run the app on Windows
8 SET PORT=4000 & npm start
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 15/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
1 mongod
Add to app.js
Now, When you run npm start or ./bin/www , you will notice the message
connection successful . Great!
You can find the repository here and the diff code at this point: diff
1 mkdir models
2 touch models/Todo.js
In the models/Todo.js :
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 16/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
diff
String
Boolean
Date
Array
Number
ObjectId
Mixed
Buffer
Curl
Create tasks
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 17/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
1 ## Create task
2 curl -XPOST http://localhost:3000/todos -d 'name=Master%20Routes&comple
3
4 ## List tasks
5 curl -XGET http://localhost:3000/todos
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 18/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
In the end, we are going to explain how to use AngularJS to interact with this API.
ExpressJS Routes
To sum up we want to achieve the following:
create new
/todos list tasks error error
task
```bash Create a new route called todos.js in the routes folder or rename
users.js mv routes/users.js routes/todos.js
1
2 In `app.js` add new `todos` route, or just replace `./routes/users` for
3
4 ``` javascript Adding todos routes
5 var todos = require('./routes/todos');
6 app.use('/todos', todos);
routes/todos.js
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 19/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
6
7 /* GET /todos listing. */
8 router.get('/', function(req, res, next) {
9 Todo.find(function (err, todos) {
10 if (err) return next(err);
11 res.json(todos);
12 });
13 });
14
15 module.exports = router;
Harvest time! We don’t have any task in database but at least we verify it is working:
1 ## Start database
2 mongod
3
4 ## Start Webserver (in other terminal tab)
5 npm start
6
7 ## Test API (in other terminal tab)
8 curl localhost:3000/todos
9 ## => []%
diff
If it returns an empty array [] you are all set. If you get errors, try going back and
making sure you didn’t forget anything, or you can comment at the end of the post for
help.
1
2 /* POST /todos */
3 router.post('/', function(req, res, next) {
4 Todo.create(req.body, function (err, post) {
5 if (err) return next(err);
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 20/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
6 res.json(post);
7 });
8 });
diff
A few things:
Everytime you change a file you have to stop and start the web server. Let’s fix that
using nodemon to refresh automatically:
Nodemon
1 /* GET /todos/id */
2 router.get('/:id', function(req, res, next) {
3 Todo.findById(req.params.id, function (err, post) {
4 if (err) return next(err);
5 res.json(post);
6 });
7 });
diff
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 21/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
1 /* PUT /todos/:id */
2 router.put('/:id', function(req, res, next) {
3 Todo.findByIdAndUpdate(req.params.id, req.body, function (err, post)
4 if (err) return next(err);
5 res.json(post);
6 });
7 });
diff
curl update
1 /* DELETE /todos/:id */
2 router.delete('/:id', function(req, res, next) {
3 Todo.findByIdAndRemove(req.params.id, req.body, function (err, post)
4 if (err) return next(err);
5 res.json(post);
6 });
7 });
diff
Is it working? Cool, you are done then! Is NOT working? take a look at the full
repository.
What’s next?
Connecting AngularJS with this endpoint. Check out the third tutorial in this series.
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 23/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
NEWER OLDER
MEAN Stack Tutorial MongoDB AngularJS tutorial for beginners with NodeJS
ExpressJS AngularJS NodeJS (Part III) ExpressJS and MongoDB (Part I)
email address
Subscribe
Follow @iAmAdrianMejia
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 24/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
ExpressJS and
MongoDB (Part I)
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 25/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Contents
1. What is a RESTful API?
2. Installing the MEAN Stack Backend
3. Using MongoDB with Mongoose
4. ExpressJS and Middlewares
5. Wiring up the MEAN Stack
6. API clients (Browser, Postman and curl)
7. ExpressJS Routes
8. What’s next?
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 26/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
78 Comments
1 Login
Name
David − ⚑
10 years ago
Awesome Tutorial. I could easily make my first steps with the MEAN stack and REST!
Thank you so much Adrian!!
81 0 Reply ⥅
0 0 Reply ⥅
Adam Carr − ⚑
9 years ago
For anyone completing this tutorial using a current mongoose, I think the callback used in the
Todo.update code sample is deprecated. Rather than getting (err, numAffected, raw) you now get
(err, result) where result is an object with "ok", "nModified", and "n" keys. result.nModified will give
you the number of rows affected. Hope that saves some time, cheers!
80 0 Reply ⥅
75 0 Reply ⥅
Yes, that's true. I just fixed it and updated the tutorials with latest mongoose, node and
express
R l ⥅
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 27/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
0 0 Reply ⥅
Nathan Torquato − ⚑
N 8 years ago
79 0 Reply ⥅
Abhijith S − ⚑
10 years ago
74 0 Reply ⥅
Ahmed − ⚑
10 years ago
Hi,
I think you forgot to include the step of installing mongoose. I had to 'npm install mongoose' before
I was able to require('mongoose').
Great tutorial!
79 1 Reply ⥅
0 0 Reply ⥅
Nice Post!
It helped me a lot while I was making a module that generate the endpoints based on your
sequelize models.
25 0 Reply ⥅
Jonas Östlund − ⚑
10 years ago
As a clojure/lisp programmer, I appreciate your bottom-up approach to teaching. Start with the
smallest building blocks and then assemble them into something meaningful.
9 0 Reply ⥅
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 28/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Glad you liked it!
0 0 Reply ⥅
hakeem ahmad − ⚑
HA 10 years ago
why did you commit the "node_modules" directory? i think it should be ignored by git
2 0 Reply ⥅
0 0 Reply ⥅
1 0 Reply ⥅
1 0 Reply ⥅
Ivo de Geus − ⚑
8 years ago
1 0 Reply ⥅
0 0 Reply ⥅
BrahBassim − ⚑
10 years ago
Thank you very much for this tuts. The best i found.....
1 0 Reply ⥅
in routes/todos js
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 29/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
in routes/todos.js
1 0 Reply ⥅
Thanks! Removed!
0 0 Reply ⥅
Sai − ⚑
S 10 years ago
This was really helpful getting started with MEAN and REST!
1 0 Reply ⥅
Ayush Srivastava − ⚑
A 2 years ago
Awesome Blog, also read: CRUD Operation with Node.js and MongoDB
0 0 Reply ⥅
[email protected] − ⚑
6 years ago
great tutorial !
0 0 Reply ⥅
Thanks!
0 0 Reply ⥅
Lemaire Lucas − ⚑
8 years ago edited
Great tutorial !
0 0 Reply ⥅
William Romano − ⚑
8 years ago
Hi,
Great tutorial, I have an issue with it tho: On safari I only get the first value on my ng repeat, (if I
send a static array I made in the scope it works) any ideas?
0 0 Reply ⥅
Евгений Бегунов − ⚑
8 years ago edited
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 30/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
0 0 Reply ⥅
Anony User − ⚑
A 8 years ago
Here is the solution for the same problem if any one is getting the same.
in terminal type
monngod
0 0 Reply ⥅
Russ − ⚑
R 8 years ago
I am wondering if it would be possible to give some hints on adapting this to have authentication.
Great article.
0 0 Reply ⥅
Tim Owings − ⚑
T 8 years ago
This is a great tutorial even if I came to it late...couple of questions though. what is the reason you
first create a project using npm init in the project directory and then create the main part of the app
using express in the todo-api directory? Also, what is the reason for using node <cli> versus just
editing a file...I apologize if these are stupid questions....Thanks!
0 0 Reply ⥅
Bendik B − ⚑
B 8 years ago
Hi! Great tutorial, I have one problem I really cannot find an answer to by Google. I successfully
retrieve an empty array when using curl -XGET, but when i try to XPOST, I get a validation error. I am
using curl -XPOST https://myurl:8080/todos -d 'name=MasterRoutes&completed=false¬e=soon...'. I
am posting the stacktrace below. I get the same error when using postman.
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 31/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
Stacktrace:
ValidationError: Todo validation failed
at MongooseError.ValidationError (/home/ubuntu/workspace/todo-
api/node_modules/mongoose/lib/error/validation.js:23:11)
at model.Document.invalidate (/home/ubuntu/workspace/todo-
api/node_modules/mongoose/lib/document.js:1486:32)
at model.Document.set (/home/ubuntu/workspace/todo-
api/node modules/mongoose/lib/document.js:753:10)
see more
0 0 Reply ⥅
Asuka Ishiyama − ⚑
8 years ago
this shit sucks...none of these work like it should and the walkthroughs are completely unclear
0 0 Reply ⥅
0 0 Reply ⥅
down through step 3 with Mongoose and CRUD. Whenever i go to input the
code, i keep getting errors and i cant go beyond that
0 0 Reply ⥅
Yeah, I know it can be frustrating when things are not workig. If you
post here the errors you are having I could give some pointers.
0 0 Reply ⥅
Dennis M Dewey − ⚑
D 8 years ago
Thank you so much for this well-structured tutorial on setting up an API using MongoDB and
NodeJS ExpressJS.
I've been developing an Electron(atom-shell) application using AngularJS 1.x and my employers
want me to connect it to an ASP.NET API that is using a MS SQL backend ( I know ....WTF?!?!?!?).
Unfortunately I'm getting NTLM Authentication issues and cannot even use an API checker like
POSTMAN to test/troubleshoot it. I'm going to try to sell them on using the appropriate
technologies for this sort of project and Electron was not necessarily designed to work well with
ASP.NET in the first place.
0 0 Reply ⥅
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 32/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
sreng khorn − ⚑
S 9 years ago
0 0 Reply ⥅
0 0 Reply ⥅
An Karthik − ⚑
A 9 years ago
0 0 Reply ⥅
You need to install it first "npm install mongoose" and the "node" and it would work
0 0 Reply ⥅
nice tut − ⚑
NT 9 years ago
good job. i used this tut to build a different api and it worked. usually, even if you follow every step,
something goes wrong because things were left out.
0 0 Reply ⥅
JL − ⚑
10 years ago
hi there. i've just attempted this on an ubuntu server but i'm not getting any results from my
database. I had an existing mongo database so I decided to try to make a CRUD server using it.
Please see my post here for details: http://stackoverflow.com/qu...
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 33/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
0 0 Reply ⥅
JL > JL − ⚑
10 years ago
I've resolve the issue. Mongoose / mongodb (?) was pluralizing my collection name and
therefore the queries were failing. I had to pass the third argument to the
mongoose.model() method and explicitly tell it what the name of the collection is. Voila.
Everything is working.
1 0 Reply ⥅
Great!
0 0 Reply ⥅
Simon Dupon − ⚑
S 10 years ago
O, I got it: when making post in POSTMAN you should select 'x-www-form-urlencoded' tab.
0 0 Reply ⥅
0 0 Reply ⥅
Hi even if it is checked I cannot make a POST call . It returns a Not Found 404
error . Can you please help . I'm stuck here All files are also identical
see more
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 34/35
3/17/25, 2:18 PM Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) | Adrian Mejia Blog
0 0 Reply ⥅
Simon Dupon − ⚑
S 10 years ago
My code is identical to yours, but I do not get 'name', 'completed' and 'note' data in responses, only
'_d', '__v' and 'updated_at':
"_id": "55a7ad265d8b9298144a75b0",
"__v": 0,
"updated_at": "2015-07-16T13:54:34.220Z"
},
https://adrianmejia.com/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 35/35