{"id":16521,"date":"2024-12-15T01:17:53","date_gmt":"2024-12-14T21:47:53","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=16521"},"modified":"2024-12-15T01:17:53","modified_gmt":"2024-12-14T21:47:53","slug":"how-to-connect-mongodb-with-node-js-using-mongoose","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/","title":{"rendered":"How to connect MongoDB to NODE.JS using MONGOOSE?"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">Introduction<\/h2>\n<p>MongoDB is the most popular NoSQL database\u2014MongoDB stores data in collections. The individual records in the collection are called documents, which have a key-value structure similar to JSON data. MongoDB is preferred for its performance, flexibility, and scalability features.<\/p>\n<h2 id=\"%d9%85%d8%a7%d9%86%da%af%d9%88%d8%b3-%da%86%db%8c%d8%b3%d8%aa%d8%9f\">What is a mongoose?<\/h2>\n<p>Mongoose is a promise-based object data modeling (ODM) library for the Node.js framework. Mongoose simplifies the way you interact with the MongoDB database. It allows you to create and model MongoDB schemas. This saves you from having to write complex database queries\/schemas. Mongoose allows you to model the data you want to store in MongoDB.<br \/>\nThis guide will help you understand how to connect MongoDB to Node.js using Mongoose.<\/p>\n<h5 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2\">Prerequisite:<\/h5>\n<p>To follow this guide, make sure you have Node.js installed on your computer. MongoDB is installed on your computer or set up on a MongoDB Atlas cloud account. Basic knowledge of creating Node.js servers. Postman is installed. Setting up a Node.js Mongoose project To create a Node.js project, go to your desired folder and run npm init -y . Then install the following packages: Express \u2014 to create a Node.js HTTP server. Mongoose \u2014 an ODM for MongoDB in Node.js.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>npm install mongoose --save\r\n<\/code><\/pre>\n<\/div>\n<p>Communicating with Mongoose and MongoDB in Node.js To communicate with Mongoose using Mongoose, create a file called db.js and configure the Mongoose connection as follows:<\/p>\n<h2 id=\"%d9%88%d8%a7%d8%b1%d8%af-%da%a9%d8%b1%d8%af%d9%86-%da%a9%d8%aa%d8%a7%d8%a8%d8%ae%d8%a7%d9%86%d9%87-mongoose\">Import the Mongoose library:<\/h2>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>const connectDB = async () =&gt; {\r\ntry {\r\nconst conn = await mongoose.connect(`mongodb:\/\/localhost:27017\/test`, {\r\nuseNewUrlParser: true,\r\n});\r\nconsole.log(`MongoDB Connected: {conn.connection.host}`);\r\n} catch (error) {\r\nconsole.error(error.message);\r\nprocess.exit(1);\r\n}\r\n}<\/code><\/pre>\n<\/div>\n<p>The MongoDB used here is running locally. So, Mongoose creates a connection to where is the name of your database. Make sure to enter the correct URI that connects to your local MongoDB installation or the MongoDB Atlas cloud.mongodb:\/\/localhost:27017test.<\/p>\n<p>Finally, export the connectDB function:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>module.exports = connectDB;<\/code><\/pre>\n<\/div>\n<p>State and import the db.js file:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>const express = require('express');\r\nconst connectDB = require('.\/db'); <\/code><\/pre>\n<\/div>\n<p>Add the Express middleware and parser:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/ express\r\nconst app = express();\r\n\/\/body parser\r\napp.use(express.json());<\/code><\/pre>\n<\/div>\n<p>Run the connectDB() function:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/connect to database\r\nconnectDB();<\/code><\/pre>\n<\/div>\n<p>Add server root:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>\/\/ routes\r\n\/\/ We will add these routes later in this guide.<\/code><\/pre>\n<\/div>\n<p>Run the program on the localhost port:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>onst PORT = process.env.PORT || 5000;\r\napp.listen(PORT, () =&gt; console.log(`Server running on port {PORT}`));<\/code><\/pre>\n<\/div>\n<h2 id=\"%db%8c%da%a9-schema-%d8%b1%d8%a7-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-mongoose-%d9%85%d8%af%d9%84-%da%a9%d9%86%db%8c%d8%af\">Model a Schema using Mongoose<\/h2>\n<p>A model defines a collection schema in a MongoDB database. Create a model.js file and a Mongoose collection schema as follows:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>const {\r\nSchema,\r\nmodel\r\n} = require(\"mongoose\");\r\nconst MySchema = new Schema({\r\nname: {\r\ntype: String,\r\nrequired: true,\r\nmaxlength: 50\r\n},\r\ncreatedAt: {\r\ntype: Date,\r\ndefault: Date.now,\r\n},\r\n});\r\nconst TaskModel = model(\"test\", MySchema)\r\nmodule.exports = TaskModel<\/code><\/pre>\n<\/div>\n<p>Here, we create a function MySchema that executes the mongoose.Schema method. This method sets up the schema that Mongoose runs on MongoDB. To create the schema, add the files to your document. In this case, we add two fields:<br \/>\nA name \u2013 Within the code above, this field is created as a string with a maximum length of fifty characters. Required is set to true to indicate that every document must contain this field.<br \/>\nA createAt field \u2014 specifies the time the document was created. It defaults to the current date as the created date type.<\/p>\n<p>Add data to the database using the Mongoose schema:<\/p>\n<p>To add data to the database, create a controller.js file.<br \/>\nImport MySchema from model file const Task = require(&#039;.\/model&#039;);<br \/>\nAdd a task to the task set. This specifies the POST path.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>exports.createTask = async (req, res) =&gt; {\r\ntry {\r\n\/\/ get the task from the body\r\nconst taskData = await req.body;\r\n\/\/create a new task then save\r\nawait Task.create(taskData)\r\n.then((createdTask) =&gt; {\r\nif (!createdTask) return res.status(404)\r\n.json({\r\nsuccess: false,\r\nmessage: \"Task creation failed\",\r\nerror: \"Unable get created task\"\r\n})\r\nres.status(201)\r\n.json({\r\nsuccess: true,\r\ncreatedTask\r\n})\r\n})\r\n.catch((error) =&gt; {\r\nres.status(404)\r\n.json({\r\nsuccess: false,\r\nerror: error.message\r\n})\r\n})\r\n} catch (error) {\r\nres.status(500)\r\n.json({\r\nsuccess: false,\r\nmessage: \"Internal server error\"\r\n})\r\n}\r\n}<\/code><\/pre>\n<\/div>\n<h2 id=\"%d8%a8%d8%a7%d8%b2%db%8c%d8%a7%d8%a8%db%8c-%d9%87%d9%85%d9%87-%d9%88%d8%b8%d8%a7%db%8c%d9%81\">Recover all tasks:<\/h2>\n<p>Add this code to the controller.js file. This specifies the GET route.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>exports.createTask = async (req, res) =&gt; {\r\ntry {\r\n\/\/ get the task from the body\r\nconst taskData = await req.body;\r\n\/\/create a new task then save\r\nawait Task.create(taskData)\r\n.then((createdTask) =&gt; {\r\nif (!createdTask) return res.status(404)\r\n.json({\r\nsuccess: false,\r\nmessage: \"Task creation failed\",\r\nerror: \"Unable get created task\"\r\n})\r\nres.status(201)\r\n.json({\r\nsuccess: true,\r\ncreatedTask\r\n})\r\n})\r\n.catch((error) =&gt; {\r\nres.status(404)\r\n.json({\r\nsuccess: false,\r\nerror: error.message\r\n})\r\n})\r\n} catch (error) {\r\nres.status(500)\r\n.json({\r\nsuccess: false,\r\nmessage: \"Internal server error\"\r\n})\r\n}\r\n}\r\nexports.getTasks = async (req, res) =&gt; {\r\n\/\/get all the data in the model and return it as response\r\ntry {\r\nTask.find()\r\n.then((allTasks) =&gt; {\r\nres.status(200)\r\n.json({\r\nsuccess: true,\r\nallTasks\r\n})\r\n})\r\n.catch((error) =&gt; {\r\nres.status(404)\r\n.json({\r\nsuccess: false,\r\nmessage: \"Cant fined \",\r\nerror\r\n})\r\n})\r\n} catch (error) {\r\nres.status(500)\r\n.json({\r\nsuccess: false,\r\nmessage: \"Internal server error\",\r\nerror: error.message\r\n})\r\n}\r\n}<\/code><\/pre>\n<\/div>\n<h2 id=\"%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%d9%85%d8%b3%db%8c%d8%b1\">Create route:<\/h2>\n<p>Create a route to run the above controllers. Create a new file and call it routes.js and add the following code:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>const router = require(\"express\")\r\n.Router()\r\nconst controller = require('.\/controller')\r\nrouter\r\n.post('\/', controller.createTask)\r\n.get('\/', controller.getTasks)\r\nmodule.exports = router<\/code><\/pre>\n<\/div>\n<p>Finally, run these routes inside the server.js file.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>const router = require('.\/routes')\r\napp.use('\/tasks', router)<\/code><\/pre>\n<\/div>\n<p>To add a new task, send a POST request using Postman as follows:<\/p>\n<p><a href=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1.webp\"><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"720\"  height=\"388\"  class=\"aligncenter wp-image-16525 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 720px) 100vw, 720px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1.webp\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1.webp 720w, https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1-300x162.webp 300w, https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1-110x59.webp 110w, https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1-200x108.webp 200w, https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1-380x205.webp 380w, https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1-255x137.webp 255w, https:\/\/cdn.itpiran.net\/2024\/12\/15011417\/1-550x296.webp 550w\" ><\/a><\/p>\n<p>To retrieve the added tasks, send a GET request using Postman as follows:<\/p>\n<p><a href=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2.webp\"><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"720\"  height=\"360\"  class=\"aligncenter wp-image-16526 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 720px) 100vw, 720px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2.webp\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2.webp 720w, https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2-300x150.webp 300w, https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2-110x55.webp 110w, https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2-200x100.webp 200w, https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2-380x190.webp 380w, https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2-255x128.webp 255w, https:\/\/cdn.itpiran.net\/2024\/12\/15011521\/2-550x275.webp 550w\" ><\/a><\/p>\n<p>You can see the added tasks by accessing your MongoDB database:<\/p>\n<p><a href=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3.webp\"><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"720\"  height=\"259\"  class=\"aligncenter wp-image-16527 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 720px) 100vw, 720px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3.webp\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3.webp 720w, https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3-300x108.webp 300w, https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3-110x40.webp 110w, https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3-200x72.webp 200w, https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3-380x137.webp 380w, https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3-255x92.webp 255w, https:\/\/cdn.itpiran.net\/2024\/12\/15011610\/3-550x198.webp 550w\" ><\/a><\/p>","protected":false},"excerpt":{"rendered":"Introduction MongoDB is the most popular NoSQL database\u2014MongoDB stores data in collections. Records\u2026","protected":false},"author":1,"featured_media":16523,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0627\u062a\u0635\u0627\u0644 mongodb \u0628\u0647 Node.js \u0628\u0627 mongoose","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"[]","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193,363,349],"tags":[403,460,394,435],"class_list":{"0":"post-16521","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-programming","9":"category-database","10":"tag-data-base","11":"tag-mongodb","12":"tag-nodejs","13":"tag-programming"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 MongoDB \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 NoSQL \u0627\u0633\u062a\u2014MongoDB \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-14T21:47:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/12\/14132538\/mongoose.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f\",\"datePublished\":\"2024-12-14T21:47:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/\"},\"wordCount\":105,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/12\\\/14132538\\\/mongoose.jpg\",\"keywords\":[\"data base\",\"MongoDB\",\"Nodejs\",\"programming\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\",\"\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/\",\"name\":\"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/12\\\/14132538\\\/mongoose.jpg\",\"datePublished\":\"2024-12-14T21:47:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/12\\\/14132538\\\/mongoose.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/12\\\/14132538\\\/mongoose.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-connect-mongodb-with-node-js-using-mongoose\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to connect MongoDB to NODE.JS using MONGOOSE? - ITPiran Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/","og_locale":"en_US","og_type":"article","og_title":"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 MongoDB \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 NoSQL \u0627\u0633\u062a\u2014MongoDB \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-12-14T21:47:53+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/12\/14132538\/mongoose.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f","datePublished":"2024-12-14T21:47:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/"},"wordCount":105,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/12\/14132538\/mongoose.jpg","keywords":["data base","MongoDB","Nodejs","programming"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc","\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/","name":"How to connect MongoDB to NODE.JS using MONGOOSE? - ITPiran Blog","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/12\/14132538\/mongoose.jpg","datePublished":"2024-12-14T21:47:53+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/12\/14132538\/mongoose.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/12\/14132538\/mongoose.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-connect-mongodb-with-node-js-using-mongoose\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0686\u06af\u0648\u0646\u0647 MongoDB \u0631\u0627 \u0628\u0647 NODE.JS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MONGOOSE \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u0645\u061f"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"ITPiran Blog","description":"Iranian Sustainable Trade News and Articles","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"Sustainable Iranian Business Blog","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"admin","url":"https:\/\/www.itpiran.net\/blog\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts\/16521","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/comments?post=16521"}],"version-history":[{"count":2,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts\/16521\/revisions"}],"predecessor-version":[{"id":16528,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts\/16521\/revisions\/16528"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/media\/16523"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/media?parent=16521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/categories?post=16521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/tags?post=16521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}