How to add records in your own local/custom database in Node.js ? Last Updated : 08 Apr, 2022 Comments Improve Suggest changes Like Article Like Report The custom database signifies the local database in your file system. There are two types of database 'SQL' and 'NoSQL'. In SQL database data are stored as table manner and in Nosql database data are stored independently with some particular way to identify each record independently. We can also create our own database or datastore locally in Nosql manner. There are some steps involve in creating the local database and add records to it. These steps are as follows: Create package.json file in the root of the project directory. Command to create package.json filenpm init -yInstall express and body-parser package. Command to install packagesnpm install express body-parserCreate a GET route to show the form (HTML form to submit the information to the database).Create the subsequent post route to handle the form submission request.Set the server to run on a specific port(Developer's port - 3000)Create a repository file and add all the logic related to creating database and storing data to it. This example creates a local database named 'datastore.json' and stores the user's information to it. Filename: index.js javascript const express = require('express') const bodyParser = require('body-parser') const repo = require('./repository') const app = express() const port = process.env.PORT || 3000 // The body-parser middleware // to parse form data app.use(bodyParser.urlencoded({extended : true})) // Get route to display HTML form app.get('/signup', (req, res) => { res.send(` <div> <form method='POST'> <div> <div> <label id='email'>Username</label> </div> <input type='text' name='email' placeholder='Email' for='email'> </div> <div> <div> <label id='password'>Password</label> </div> <input type='password' name='password' placeholder='Password' for='password'> </div> <div> <button>Sign Up</button> </div> </form> </div> `); }) // Post route to handle form submission // logic and add data to the database app.post('/signup', async (req, res) => { const {email, password} = req.body const addedRecord = await repo.createNewRecord({email, password}) console.log(`Added Record : ${JSON.stringify(addedRecord, null, 4)}`) res.send("Information added to the" + " database successfully.") }) // Server setup app.listen(port, () => { console.log(`Server start on port ${port}`) }) Filename: repository.js javascript // Importing node.js file system module const fs = require('fs') class Repository { constructor(filename) { // Filename where datas are going to store if (!filename) { throw new Error( 'Filename is required to create a datastore!') } this.filename = filename try { fs.accessSync(this.filename) } catch (err) { // If file not exist // it is created with empty array fs.writeFileSync(this.filename, '[]') } } // Logic to add data async createNewRecord(attributes) { // Read filecontents of the datastore const jsonRecords = await fs.promises.readFile(this.filename,{ encoding : 'utf8' }) // Parsing JSON records in JavaScript // object type records const objRecord = JSON.parse(jsonRecords) // Adding new record objRecord.push(attributes) // Writing all records back to the file await fs.promises.writeFile( this.filename, JSON.stringify(objRecord, null, 2) ) return attributes; } } // The 'datastore.json' file created at // runtime and all the information // provided via signup form store in // this file in JSON format. module.exports = new Repository('datastore.json') Package.json file: Steps to run the program: Run the index.js file using the following command: node index.js Form to submit the responses: Note: Here three responses are submitted one after other and all the responses are stored in datastore.json file. Redirected page after submitting the request: Output: Database: Note: For the first time, running the program database(datastore.json) file not exist in the project directory, it created dynamically after running the program and store the submitted response. After that, all the submitted responses are appended in the database one by one. Comment More infoAdvertise with us Next Article How to add records in your own local/custom database in Node.js ? hunter__js Follow Improve Article Tags : Web Technologies Node.js Node.js-Misc Similar Reads JavaScript Tutorial JavaScript is a programming language used to create dynamic content for websites. It is a lightweight, cross-platform, and single-threaded programming language. It's an interpreted language that executes code line by line, providing more flexibility.JavaScript on Client Side: On the client side, Jav 11 min read Web Development Web development is the process of creating, building, and maintaining websites and web applications. It involves everything from web design to programming and database management. Web development is generally divided into three core areas: Frontend Development, Backend Development, and Full Stack De 5 min read React Interview Questions and Answers React is an efficient, flexible, and open-source JavaScript library that allows developers to create simple, fast, and scalable web applications. Jordan Walke, a software engineer who was working for Facebook, created React. Developers with a JavaScript background can easily develop web applications 15+ min read JavaScript Interview Questions and Answers JavaScript (JS) is the most popular lightweight, scripting, and interpreted programming language. JavaScript is well-known as a scripting language for web pages, mobile apps, web servers, and many other platforms. Both front-end and back-end developers need to have a strong command of JavaScript, as 15+ min read React Tutorial React is a JavaScript Library known for front-end development (or user interface). It is popular due to its component-based architecture, Single Page Applications (SPAs), and Virtual DOM for building web applications that are fast, efficient, and scalable.Applications are built using reusable compon 8 min read Domain Name System (DNS) DNS is a hierarchical and distributed naming system that translates domain names into IP addresses. When you type a domain name like www.geeksforgeeks.org into your browser, DNS ensures that the request reaches the correct server by resolving the domain to its corresponding IP address.Without DNS, w 8 min read REST API Introduction REST API stands for REpresentational State Transfer API. It is a type of API (Application Programming Interface) that allows communication between different systems over the internet. REST APIs work by sending requests and receiving responses, typically in JSON format, between the client and server. 7 min read NodeJS Interview Questions and Answers NodeJS is one of the most popular runtime environments, known for its efficiency, scalability, and ability to handle asynchronous operations. It is built on Chromeâs V8 JavaScript engine for executing JavaScript code outside of a browser. It is extensively used by top companies such as LinkedIn, Net 15+ min read HTML Interview Questions and Answers HTML (HyperText Markup Language) is the foundational language for creating web pages and web applications. Whether you're a fresher or an experienced professional, preparing for an HTML interview requires a solid understanding of both basic and advanced concepts. Below is a curated list of 50+ HTML 14 min read What is an API (Application Programming Interface) In the tech world, APIs (Application Programming Interfaces) are crucial. If you're interested in becoming a web developer or want to understand how websites work, you'll need to familiarize yourself with APIs. Let's break down the concept of an API in simple terms.What is an API?An API is a set of 10 min read Like