新手小白如何使用express项目跑通Mongodb数据库

创建express项目「已有直接跳第二步」

使用express脚手架创建express项目

步骤 1:安装 Express Generator

首先,确保全局安装了 Express Generator。你可以使用以下命令来安装:

复制代码
npm install -g express-generator

步骤 2:创建 Express 项目

在命令行中,执行以下命令来创建一个新的 Express 项目:

perl 复制代码
express my-express-app

这将会在当前目录下创建一个名为 my-express-app 的项目文件夹,并生成 Express 项目的基本文件结构。

步骤 3:安装依赖并启动应用

进入新创建的项目目录:

bash 复制代码
cd my-express-app

然后,安装项目所需的依赖:

复制代码
npm install

最后,启动 Express 应用:

sql 复制代码
npm start

现在,你的 Express 应用应该已经在默认端口(通常是3000)上运行了。你可以在浏览器中访问 **http://localhost:3000**,应该能看到 Express 的欢迎页面。 通过使用 Express 脚手架,你可以更快地创建一个 Express 项目,并且无需手动设置文件结构和配置。

连接Mongodb

  1. 根目录下创建config文件夹,并在config目录下创建db.config.js文件
javascript 复制代码
const mongoose = require("mongoose")

mongoose.set('strictQuery', true);
mongoose.connect(`mongodb://127.0.0.1:27017/表名称`) // 正常默认端口为27017

mongoose.connection.on("open", () => {
  // 在这里可以执行链接成功的操作
});

// 监听连接错误事件
mongoose.connection.on("error", (err) => {
  console.error("MongoDB 连接错误:", err);
});
  1. 创建并保存好db.config.js文件后,你还没有mongoose

    npm install mongoose

  2. 然后你需要在bin/www目录下添加一行命令来引入db.config.js文件

javascript 复制代码
var app = require('../app');
var debug = require('debug')('my-express-demo:server');
var http = require('http');
// 在上方这几行下添加
require('../config/db.config.js') // 添加这一行命令
  1. 启动项目,默认启动命令为 npm run start,到这里你的数据库应该已经启动成功了!
  1. ※※※※※※※※※※※※※※※※※※※※※※※※※※

如果数据库没连接成功,则一定是本地数据库安装的问题。可以检查一下本地问题 如: (1) 检查mongod启动状态

出现successfully为启动成功 。反之为失败 或者 已经启动过了 ※ mac用户应该为data和log文件分配可支配权限

结尾

我通常会搭配一些特殊/明显的标签来验证自己的数据库连接成功

javascript 复制代码
const mongoose = require("mongoose")

const tableName = process.env.NODE_DATA === 'mock' ? 'mock' : 'jobpost' // 判断环境决定用哪张表
mongoose.set('strictQuery', true);
mongoose.connect(`mongodb://127.0.0.1:27017/${tableName}`)

mongoose.connection.on("open", () => {
  console.log('\x1b[33m%s\x1b[0m', '数据库 已成功连接!') 
  console.log('\x1b[33m%s\x1b[0m', `当前连接表:${tableName}`) 
  // 在这里可以执行其他操作
});

// 监听连接错误事件
mongoose.connection.on("error", (err) => {
  console.error("MongoDB 连接错误:", err);
});
相关推荐
香芋芋圆23 分钟前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF1 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
宿6741 小时前
vue3-async
前端·javascript·vue.js
excel3 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript
一个游离的指针5 小时前
函数管道:消除深度嵌套调用
前端·javascript
柚yuzumi6 小时前
前端优化,从少触发一次开始:防抖与节流
前端·javascript
默_笙6 小时前
🚤 CSS 布局的"圈地运动":BFC 就是浏览器的独立领地
前端·javascript
用户938515635077 小时前
大模型记忆指南:从短时缓存到永久记忆,手把手带你吃透 LangChain Memory 管理
javascript·人工智能
xqchen7 小时前
Web Components 普及困境深度解析:技术标准与工程实践的落差
javascript
爱丶不疚7 小时前
写给前端工程师的现代 Python 工程化最佳实践:从 pnpm 到 uv,从 CommonJS 到 src-layout
javascript·python·typescript