📅  最后修改于: 2023-12-03 15:36:52.512000             🧑  作者: Mango
MongoDB 是一个流行的 NoSQL 文档型数据库,而 Express 是一个 Node.js Web 框架。在这个指南中,我们将探讨如何使用 npm 创建一个使用 MongoDB 和 Express 的服务器。
首先,让我们创建一个新项目目录并初始化 npm。通过进入终端并输入以下命令来完成此操作。
mkdir myproject
cd myproject
npm init -y
这将创建一个名为 myproject
的新目录,并通过在项目根目录中创建 package.json
文件来初始化 npm。 -y
选项将默认 npm 向导配置应答为默认值。
接下来,我们需要安装用于创建我们的服务器的依赖项。在终端中输入以下命令:
npm install express mongoose body-parser --save
express
是一个流行的字面上的 Node.js Web 框架,mongoose
则是 MongoDB 的官方对象模型库。我们还需要 body-parser
作为 Node.js 中间件,以便能够解析传入的 JSON 请求。
现在,让我们来创建一个名为 server.js
的文件,并将以下代码添加到文件中:
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const app = express();
// 配置 body-parser 解析 JSON
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
// 连接到 MongoDB
mongoose.connect('mongodb://localhost/myproject');
// 定义模型
const Book = mongoose.model('Book', {
title: String,
author: String,
genre: String,
});
// 定义路由
const router = express.Router();
router.get('/', (req, res) => {
res.json({message: '欢迎来到我们的 API!'})
});
router.route('/books')
.get((req, res) => {
Book.find({}, (err, books) => {
if (err) {
res.send(err);
}
res.json(books);
});
})
.post((req, res) => {
const book = new Book(req.body);
book.save((err) => {
if (err) {
res.send(err);
}
res.json({message: '图书添加成功!'});
});
});
// 注册路由
app.use('/api', router);
// 启动服务器
app.listen(8080, () => {
console.log('服务器正在运行于端口 8080。');
});
此代码将设置 Express 应用程序并创建一个简单的 API。以下是该代码的解释:
express
,body-parser
和mongoose
三个依赖项。body-parser
让 Node.js 解析JSON请求。myproject
的MongoDB数据库(前提是在本地开启,有如下数据mongodb://localhost/myproject
)。Book
模型,并定义了一个基本的 router
,该路由允许我们获取所有图书和添加图书。现在,我们已经成功配置了服务器,让我们通过以下步骤测试我们的 API。
node server.js
curl http://localhost:8080/api
curl http://localhost:8080/api/books
curl -d '{"title":"Test Book", "author":"Test Author", "genre":"Test Genre"}' -H "Content-Type: application/json" -X POST http://localhost:8080/api/books
在本指南中,我们学习了如何创建一个使用 MongoDB 和 Express 的服务器,从 Node.js 基础知识开始一步步深入学习。如有任何问题,请在评论区留言。
# 创建 MongoDB Express 服务器 npm - JavaScript
MongoDB 是一个流行的 NoSQL 文档型数据库,而 Express 是一个 Node.js Web 框架。在这个指南中,我们将探讨如何使用 npm 创建一个使用 MongoDB 和 Express 的服务器。
## 步骤
1. 设置项目
首先,让我们创建一个新项目目录并初始化 npm。通过进入终端并输入以下命令来完成此操作。
mkdir myproject cd myproject npm init -y
这将创建一个名为 `myproject` 的新目录,并通过在项目根目录中创建 `package.json` 文件来初始化 npm。 `-y` 选项将默认 npm 向导配置应答为默认值。
2. 安装必要的依赖项
接下来,我们需要安装用于创建我们的服务器的依赖项。在终端中输入以下命令:
npm install express mongoose body-parser --save
`express` 是一个流行的字面上的 Node.js Web 框架,`mongoose` 则是 MongoDB 的官方对象模型库。我们还需要 `body-parser` 作为 Node.js 中间件,以便能够解析传入的 JSON 请求。
3. 创建服务器文件
现在,让我们来创建一个名为 `server.js` 的文件,并将以下代码添加到文件中:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const app = express();
// 配置 body-parser 解析 JSON
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
// 连接到 MongoDB
mongoose.connect('mongodb://localhost/myproject');
// 定义模型
const Book = mongoose.model('Book', {
title: String,
author: String,
genre: String,
});
// 定义路由
const router = express.Router();
router.get('/', (req, res) => {
res.json({message: '欢迎来到我们的 API!'})
});
router.route('/books')
.get((req, res) => {
Book.find({}, (err, books) => {
if (err) {
res.send(err);
}
res.json(books);
});
})
.post((req, res) => {
const book = new Book(req.body);
book.save((err) => {
if (err) {
res.send(err);
}
res.json({message: '图书添加成功!'});
});
});
// 注册路由
app.use('/api', router);
// 启动服务器
app.listen(8080, () => {
console.log('服务器正在运行于端口 8080。');
});
此代码将设置 Express 应用程序并创建一个简单的 API。以下是该代码的解释:
express
,body-parser
和mongoose
三个依赖项。body-parser
让 Node.js 解析JSON请求。myproject
的MongoDB数据库(前提是在本地开启,有如下数据mongodb://localhost/myproject
)。Book
模型,并定义了一个基本的 router
,该路由允许我们获取所有图书和添加图书。现在,我们已经成功配置了服务器,让我们通过以下步骤测试我们的 API。
node server.js
curl http://localhost:8080/api
curl http://localhost:8080/api/books
curl -d '{"title":"Test Book", "author":"Test Author", "genre":"Test Genre"}' -H "Content-Type: application/json" -X POST http://localhost:8080/api/books
在本指南中,我们学习了如何创建一个使用 MongoDB 和 Express 的服务器,从 Node.js 基础知识开始一步步深入学习。如有任何问题,请在评论区留言。