新手小白如何使用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);
});
相关推荐
tyro曹仓舒22 分钟前
干了10年前端,才学会使用IntersectionObserver
前端·javascript
mine_mine1 小时前
油猴脚本拦截fetch和xhr请求,实现修改服务端接口功能
javascript
一 乐2 小时前
考公|考务考试|基于SprinBoot+vue的考公在线考试系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·课程设计
林太白2 小时前
跟着TRAE SOLO全链路看看项目部署服务器全流程吧
前端·javascript·后端
特级业务专家2 小时前
把 16MB 中文字体压到 400KB:我写了一个 Vite 字体子集插件
javascript·vue.js·vite
先生沉默先3 小时前
NodeJs 学习日志(8):雪花算法生成唯一 ID
javascript·学习·node.js
起这个名字3 小时前
Webpack——插件实现的理解
前端·javascript·node.js
二川bro3 小时前
第51节:Three.js源码解析 - 核心架构设计
开发语言·javascript·ecmascript
djk88885 小时前
多标签页导航后台模板 html+css+js 纯手写 无第三方UI框架 复制粘贴即用
javascript·css·html
Hilaku5 小时前
别再吹性能优化了:你的应用卡顿,纯粹是因为产品设计烂🤷‍♂️
前端·javascript·代码规范