新手小白如何使用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);
});
相关推荐
han_11 小时前
JavaScript设计模式(六):职责链模式实现与应用
前端·javascript·设计模式
进击的尘埃11 小时前
Navigation API 如何重塑前端路由
javascript
早點睡39011 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-orientation-locker
javascript·react native·react.js
早點睡39011 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-localize
javascript·react native·react.js
棋鬼王12 小时前
Cesium(十) 动态修改白模颜色、白模渐变色、白模光圈特效、白模动态扫描光效、白模着色器
前端·javascript·vue.js·智慧城市·数字孪生·cesium
酉鬼女又兒12 小时前
零基础快速入门前端蓝桥杯Web备考:BOM与定时器核心知识点详解(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯
ThridTianFuStreet小貂蝉12 小时前
面试题1:请系统讲讲 Vue2 与 Vue3 的核心差异(响应式、API 设计、性能与编译器)。
前端·javascript·vue.js
竹林81812 小时前
在NFT项目中集成IPFS:从Pinata上传到前端展示的完整实战与踩坑
前端·javascript
我命由我1234512 小时前
Vite - Vite 最小项目
服务器·前端·javascript·react.js·ecmascript·html5·js
布局呆星12 小时前
Vue3 | 事件绑定与双向数据绑定
前端·javascript·vue.js