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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 【8月更文挑战第25天】

下面我将详细讲解如何安装 Node.js、介绍 Node.js 的脚手架工具、使用 Express 脚手架创建项目,以及如何安装和连接 MongoDB。
一、Node.js 安装
下载 Node.js:
访问 Node.js 官方网站。
根据你的操作系统选择最新的 LTS(长期支持版)版本下载并安装。一般推荐使用 LTS 版本,因为它更稳定。
安装 Node.js:
双击下载的安装包,按照提示完成安装。
安装过程中可以选择默认设置,直接点击 "Next" 直到安装完成。
验证安装:
安装完成后,打开终端(Windows 使用命令提示符或 PowerShell,macOS 和 Linux 使用 Terminal)。
输入以下命令,查看 Node.js 和 npm(Node.js 包管理器)是否安装成功:
node -v
npm -v
二、Node.js 脚手架工具介绍
Node.js 脚手架工具可以帮助开发者快速创建和初始化项目。以下是一些常见的 Node.js 脚手架工具:
Express Generator:
用于快速生成基于 Express 框架的 Node.js 应用程序骨架。
适合搭建 RESTful API 和 Web 应用。
Nest CLI:
用于创建基于 Nest.js 框架的项目,Nest.js 是一个支持 TypeScript 的渐进式 Node.js 框架,适用于构建企业级的服务端应用程序。
Create React App:
虽然这是 React 的脚手架工具,但它是基于 Node.js 的,能够快速搭建 React 前端项目。
Vue CLI:
用于创建 Vue.js 前端项目,同样基于 Node.js。
Angular CLI:
用于创建 Angular 项目,提供了强大的项目生成和管理功能。
三、使用 Express 脚手架创建 Node.js 项目
我们将以 express-generator 为例,介绍如何使用这个脚手架工具创建一个 Node.js 项目。
全局安装 express-generator:
首先,需要全局安装 express-generator,在终端中运行以下命令:
npm install -g express-generator
创建 Express 项目:
在你想要创建项目的目录中,运行以下命令来生成项目:
express myapp --view=pug
安装依赖:
进入项目目录,并安装项目依赖:
cd myapp
npm install
启动服务器:
安装完成后,可以运行以下命令启动服务器:
npm start
打开浏览器访问 http://localhost:3000,你应该能看到 Express 默认的欢迎页面。
四、MongoDB 安装
下载 MongoDB:
访问 MongoDB 官方网站。
选择适合你操作系统的版本并下载。
安装 MongoDB:
下载完成后,双击安装包并按照安装向导进行操作。通常可以使用默认设置。
安装完成后,MongoDB 会自动作为一个服务运行。
启动 MongoDB:
如果你是手动启动 MongoDB,可以在终端中输入以下命令:
mongod
这将启动 MongoDB 的守护进程,并且 MongoDB 将开始在默认端口 27017 上运行。
五、Node.js 连接 MongoDB
安装 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;
测试连接:
重新启动服务器,访问 http://localhost:3000,如果你看到 User saved!,说明你已经成功将 Node.js 与 MongoDB 连接并保存了一个用户到数据库。
结论
通过本教程,你已经了解了如何安装 Node.js,了解常见的 Node.js 脚手架工具,使用 Express Generator 创建一个 Node.js 项目,并成功连接到 MongoDB 数据库。你可以在此基础上进一步开发,添加更多的功能,打造完整的应用程序。
文章知识点与官方知识档案匹配,可进一步学习相关知识
MySQL入门技能树安装和登录安装92061 人正在系统学习中

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
14天前
|
NoSQL 网络安全 MongoDB
MongoDB - 连接
10月更文挑战第12天
10 1
|
19天前
|
JavaScript 前端开发
js教程——函数
js教程——函数
21 4
|
6天前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第20天
15 0
|
17天前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第9天
34 0
|
JavaScript 前端开发 API
Vue.js入门指南:从基础到进阶,掌握现代JavaScript框架的核心概念与高级特性(2W字小白教程)
Vue.js入门指南:从基础到进阶,掌握现代JavaScript框架的核心概念与高级特性(2W字小白教程)
172 0
|
JavaScript 前端开发 Java
|
JavaScript 前端开发 Java
|
Web App开发 JavaScript 前端开发
vue.js入门与提高实战教程
Vue.js作为一个后起的前端框架,借鉴了Angular 、React等现代前端框架/库的诸多特点,并且取得了相当不错的成绩。
1914 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
85 2
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
105 4