首页 > 数据库 >Node.js 安装与使用及连接 MongoDB 的详细教程

Node.js 安装与使用及连接 MongoDB 的详细教程

时间:2024-08-26 09:23:46浏览次数:6  
标签:Node const MongoDB js mongoose 安装

下面我将详细讲解如何安装 Node.js、介绍 Node.js 的脚手架工具、使用 Express 脚手架创建项目,以及如何安装和连接 MongoDB。

一、Node.js 安装

  1. 下载 Node.js:

    • 访问 Node.js 官方网站

    • 根据你的操作系统选择最新的 LTS(长期支持版)版本下载并安装。一般推荐使用 LTS 版本,因为它更稳定。

  2. 安装 Node.js:

    • 双击下载的安装包,按照提示完成安装。

    • 安装过程中可以选择默认设置,直接点击 "Next" 直到安装完成。

  3. 验证安装:

    • 安装完成后,打开终端(Windows 使用命令提示符或 PowerShell,macOS 和 Linux 使用 Terminal)。

    • 输入以下命令,查看 Node.js 和 npm(Node.js 包管理器)是否安装成功:

node -v
npm -v

二、Node.js 脚手架工具介绍

Node.js 脚手架工具可以帮助开发者快速创建和初始化项目。以下是一些常见的 Node.js 脚手架工具:

  1. Express Generator:

    • 用于快速生成基于 Express 框架的 Node.js 应用程序骨架。

    • 适合搭建 RESTful API 和 Web 应用。

  2. Nest CLI:

    • 用于创建基于 Nest.js 框架的项目,Nest.js 是一个支持 TypeScript 的渐进式 Node.js 框架,适用于构建企业级的服务端应用程序。

  3. Create React App:

    • 虽然这是 React 的脚手架工具,但它是基于 Node.js 的,能够快速搭建 React 前端项目。

  4. Vue CLI:

    • 用于创建 Vue.js 前端项目,同样基于 Node.js。

  5. Angular CLI:

    • 用于创建 Angular 项目,提供了强大的项目生成和管理功能。

三、使用 Express 脚手架创建 Node.js 项目

我们将以 express-generator 为例,介绍如何使用这个脚手架工具创建一个 Node.js 项目。

  1. 全局安装 express-generator
    首先,需要全局安装 express-generator,在终端中运行以下命令:

express myapp --view=pug
  1. 创建 Express 项目:

  2. 在你想要创建项目的目录中,运行以下命令来生成项目:

express myapp --view=pug
  1. 安装依赖:

    • 进入项目目录,并安装项目依赖:

cd myapp
npm install
  1. 启动服务器:

    • 安装完成后,可以运行以下命令启动服务器:

npm start
    • 打开浏览器访问 http://localhost:3000,你应该能看到 Express 默认的欢迎页面。

四、MongoDB 安装

  1. 下载 MongoDB:

  2. 安装 MongoDB:

    • 下载完成后,双击安装包并按照安装向导进行操作。通常可以使用默认设置。

    • 安装完成后,MongoDB 会自动作为一个服务运行。

  3. 启动 MongoDB:

    • 如果你是手动启动 MongoDB,可以在终端中输入以下命令:

mongod
    • 这将启动 MongoDB 的守护进程,并且 MongoDB 将开始在默认端口 27017 上运行。

五、Node.js 连接 MongoDB

  1. 安装 mongoose

    • 在你的 Node.js 项目中,安装 mongoose 库来连接和操作 MongoDB:

npm install mongoose

连接 MongoDB:

  • 打开项目的 app.js 文件,并添加以下代码来连接本地的 MongoDB 数据库:

const mongoose = require('mongoose');

// 连接到 MongoDB
mongoose.connect('mongodb://localhost/mydatabase', {
  useNewUrlParser: true,
  useUnifiedTopology: true
});

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  console.log('Connected to MongoDB');
});
    • 这里的 'mongodb://localhost/mydatabase' 是连接字符串,其中 mydatabase 是你要连接的数据库名称。可以替换为你想要使用的数据库名。

  • 创建模型:

    • 在项目的 models 文件夹中创建一个新的 user.js 文件,用于定义一个简单的用户模型:

const mongoose = require('mongoose');

const userSchema = new mongoose.Schema({
  name: String,
  age: Number
});

const User = mongoose.model('User', userSchema);

module.exports = User;

在路由中使用模型:

  • 例如,在 routes/index.js 中添加以下代码来保存一个用户到数据库中:

const express = require('express');
const router = express.Router();
const User = require('../models/user');

/* GET home page. */
router.get('/', async function(req, res, next) {
  const user = new User({ name: 'Alice', age: 25 });
  await user.save();
  res.send('User saved!');
});

module.exports = router;
  1. 测试连接:

    • 重新启动服务器,访问 http://localhost:3000,如果你看到 User saved!,说明你已经成功将 Node.js 与 MongoDB 连接并保存了一个用户到数据库。

结论

通过本教程,你已经了解了如何安装 Node.js,了解常见的 Node.js 脚手架工具,使用 Express Generator 创建一个 Node.js 项目,并成功连接到 MongoDB 数据库。你可以在此基础上进一步开发,添加更多的功能,打造完整的应用程序。

标签:Node,const,MongoDB,js,mongoose,安装
From: https://blog.csdn.net/qq_67572731/article/details/141551839

相关文章

  • 基于javaweb+jsp的鲜花商城系统
    基于javaweb+jsp的鲜花商城系统的设计与实现~开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+JSP工具:IDEA/Ecilpse、Navicat、Maven系统展示前台后台摘要  当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈......
  • 视野修炼-技术周刊第98期 | Node原生支持TS
    欢迎来到第98期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • SpringBoot整合MongoDB
    目录什么是MongoDB?SpringBoot整合MongoDB使用MongoDB1.新增文档2.修改文档3.删除文档4.查询文档5.创建索引什么是MongoDB?MongoDB是一种开源的分布式文档型数据库管理系统,它使用类似于JSON的BSON格式(BinaryJSON)来存储数据。MongoDB使用集合(Collections)来组织文......
  • 基于springboot+vue.js的牙科就诊管理系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 基于ssm+vue.js的附学费管理系统带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SSM前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 【Node】【4】事件循环和EventEmitter类
    事件循环事件驱动:node中程序的执行是由事件的发生和相应的事件处理器(eventHandler)来驱动的编程范式。程序监听并响应发生的事件。每个异步事件都生成一个事件观察者,在执行某个事件(主题)结束的时候则触发这个事件上的处理函数(观察者)。【让我瞅瞅什么时候开始执行,例如点击事......
  • JS中数组去重方法总结
    在JavaScript中,数组去重是一个常见的操作,目的是移除数组中的重复元素,确保数组中每个元素都是唯一的。以下是几种常用的数组去重方法,分别适用于不同的情况:1.使用Set对象Set是ES6引入的新数据结构,它类似于数组,但其中的每个值都是唯一的。利用这一特性,可以很容易地去重......
  • SpringBoot文档之JSON的阅读笔记
    ReferenceCoreFeaturesJSON支持Gson、Jackson、JSON-B。SpringBoot提供了组件spring-boot-starter-json。注解,如下:@JsonComponent@JsonMixin重要的类,如下:JsonSerializerJsonDeserializerKeyDeserializerJsonObjectSerializerJsonObjectDeserializer参......
  • 基于Node.js+vue四川省非物质文化遗产之传统美术数字平台设计与实现(程序+论文+开题报
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在全球化与现代化的浪潮中,非物质文化遗产作为民族文化的瑰宝,正面临着传承与保护的严峻挑战。四川省,作为中华文化的重要发源地之一,拥有丰富的非物质文化遗产......
  • zblog(非js)调用discuz帖子的方法
    步骤1:在zblog目录(以b2c主题为例)/zb_users/theme/b2c/include目录下,新建空文件news01.html和news02.html。 步骤2:复制以下代码保存为news.php,上传到discuz程序的sources/include/cron/目录下。<?phpif(!defined('IN_DISCUZ')){exit('AccessDenied');}//单独id(根据您的需......