【问题标题】:How do I insert data into MongoDB without using a form如何在不使用表单的情况下将数据插入 MongoDB
【发布时间】:2022-06-13 18:48:40
【问题描述】:

我最近在 Udemy 上完成了 Colt Steele 的“Web 开发人员训练营”。我正在使用 HTML/CSS/Javascript/Bootstrap 作为前端和 Node/Express/MongoDB 作为后端创建番茄钟。

我希望番茄工作时间完成后将番茄工作时间数据(开始时间、结束时间、持续时间、项目)插入数据库,但我不确定如何从客户端执行此操作。对于 Colt 的“YelpCamp”项目,所有添加到数据库中的数据都是通过一个表单来完成的。

【问题讨论】:

  • 如果您希望将数据直接插入数据库,您可以使用 MongoDB Compass 等 GUI 工具。

标签: node.js mongodb express


【解决方案1】:

我们可以简单地创建一个API 并将其用于来自服务器的POSTGET 数据。首先,我们将简单地使用 nodejs 创建一个服务器并将其与 mongodb 数据库连接,然后我们将创建两个路由 GET 和 POST,前者用于获取数据,后者用于将数据保存到 mongodb 集合。一旦所有这些都完成了,我们就可以在客户端使用jQueryaxios 简单地使用这些API。
这是有关如何执行此操作的示例。

第一步:创建项目,运行

npm init -y

第 2 步:安装依赖项

npm i express mongoose cors

第 3 步:配置您的 index.js

import express from "express";
import mongoose from "mongoose";
mongoose.connect(DB_URL, (err, db) => {
    if (err) console.error(err);
    let dbo = db.client.db("mongodb://localhost:27017/YourDB");
    console.log('\x1b[33mDatabase Connected!\x1b[0m');
});
const app = express();

app.use(express.json());
app.use(cors());
// now you can simply create two API routes for fetching and posting data

// GET Route
app.get('/api/pomodoro', (req, res) => {
   return res.json({status: "success", message: "Fetching Pomodoro Data!", data: null});
});
// POST Route
app.post('/api/pomodoro', (req, res) => {
   const body = req.body;
   
   // Write your logic here to save data
   return res.json({
      status: "success",
      message: "Received POST Request",
      data: body
   })
});

一次,您可以使用Postman 测试您的 API,一旦它开始工作,您就可以将所有部分组合在一起以完成拼图。 您可以通过jQueryaxios 简单地使用这些API。
你可以通过简单的谷歌搜索找到多个关于此的博客。


查看this博客了解详细说明。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多