Creating your first Node.js application with Node-Data

In this blog, we will learn how to create a Node.js application with Node-Data. Let’s assume that you are building an application for blogs and you want to create REST APIs which can be used by a front-end/mobile application.

    • Create blogs into database
    • Update blogs into database
    • Delete blogs from database
    • Find and fetch a blog using any existing blog ID from the database


  • MongoDB is installed and server is running on a default port
  • Node 6.9.0 is installed
  • IDE (Eg: VS Code)
  • REST client (Eg: Postman, Curl) for testing


  1. git clone
  2. cd nodedata-demo-sample/Demo-Sample
  3. npm install

Code changes

  • Add a model blogmodel.ts inside the Models folder.
  • Add a repository blogmodelrepository.ts inside the Repositories folder.
import {field, document} from 'nodedata/mongoose/decorators';
import {Strict} from 'nodedata/mongoose/enums';
@document({ name: 'blogs', strict: Strict.true })
export class BlogModel{
@field({primary: true, autogenerated: true})
_id: any;
name: any;
view raw blogmodel.ts hosted with ❤ by GitHub
import {repository} from "nodedata/core/decorators/repository";
import {BlogModel} from '../models/blogmodel';
@repository({ path: 'blogs', model: BlogModel })
export default class BlogRepository {
  • Model with @document to create a document inside Blogs collection.
  • A repository with the blog name will create all the necessary REST end points.


  1. npm start
  2. Post a JSON {“name”: “testBlog”} to http://localhost:9999/data/blogs
  3. Hit the api to get data(http://localhost:9999/data/blogs)
  4. Hit the api with put method http://localhost:9999/data/blogs/{{blogId}} with body {“name”: “testBlog1”}
  5. Hit the api with delete method http://localhost:9999/data/blogs/{{blogId}}


Now you can see how creating rest apis is super easy with node-data. If you want to know more check out the our github

Or visit our main page

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s