新手小白如何使用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);
});
相关推荐
凌览3 小时前
一键去水印|5 款免费小红书解析工具推荐
前端·javascript·后端
有意义3 小时前
栈数据结构全解析:从实现原理到 LeetCode 实战
javascript·算法·编程语言
鹿鹿鹿鹿isNotDefined3 小时前
逐步手写,实现符合 Promise A+ 规范的 Promise
前端·javascript·算法
拉不动的猪3 小时前
前端三大权限场景全解析:设计、实现、存储与企业级实践
前端·javascript·面试
前端加油站5 小时前
一种新HTML 页面转换成 PDF 技术方案
前端·javascript·vue.js
w***Q3505 小时前
Vue打包
前端·javascript·vue.js
有事没事实验室6 小时前
router-link的custom模式
前端·javascript·vue.js
4***V2026 小时前
Vue3响应式原理详解
开发语言·javascript·ecmascript
O***p6046 小时前
JavaScript在Node.js中的集群负载均衡
javascript·node.js·负载均衡
xhxxx7 小时前
prototype 是遗产,proto 是族谱:一文吃透 JS 原型链
前端·javascript