Speichern von Daten in MongoDB über Node.JS
In den letzten Jahren hat sich MongoDB zu einer der beliebtesten NoSQL-Datenbanken entwickelt. Seine Flexibilität und Skalierbarkeit haben es zu einer bevorzugten Wahl für die Speicherung von Daten in modernen Webanwendungen gemacht. In diesem Blog werden wir lernen, wie man Daten in MongoDB mit Node.js speichert.
Bevor wir den Blog starten, lernen wir zunächst MongoDB und Node.Js kennen.
Was ist MongoDB?
MongoDB ist eine beliebte dokumentenorientierte Open-Source-NoSQL-Datenbank, die zum Speichern und Verwalten großer Mengen unstrukturierter oder halbstrukturierter Daten entwickelt wurde.
Was ist Node.js?
Node.js ist eine plattformübergreifende Open-Source-JavaScript-Laufzeitumgebung, mit der Entwickler JavaScript-Code außerhalb eines Webbrowsers ausführen können.
Erstellen eines Node.js-Projekts
Der erste Schritt besteht darin, Ihre App zu initialisieren, und dafür müssen Sie den Befehl npm init in Ihre Eingabeaufforderung schreiben.
mkdir node-mongo
cd node-mongo
npm init
Jetzt müssen Sie 2 Abhängigkeiten installieren:
- Express: Es ist ein beliebtes Webanwendungs-Framework für Node.js, das den Prozess der Erstellung robuster, skalierbarer und sicherer Webanwendungen vereinfacht.
- Mongoose: Es ermöglicht Entwicklern das Schreiben von MongoDB-Abfragen in JavaScript-Syntax und bietet eine Abstraktionsebene zwischen der Anwendung und der Datenbank.
npm i express mongoose
import express from "express";
const app = express();
const PORT = 8000;
app.listen(PORT, () => {
console.log(`The server is running at port ${PORT}`);
});
Um die MongoDB mit Ihrer node.js-Umgebung zu verbinden, müssen Sie hier einen Ordner erstellen. Ich benenne ihn nach Datenbank. Unter diesem Ordner müssen Sie die Datei db.js erstellen.
import mongoose from "mongoose";
const Connection = async () => {
mongoose.set("strictQuery", false);
const URL = `mongodb://localhost:27017/{YOUR_DATABASE_NAME}`
try {
await mongoose.connect(URL, {
useUnifiedTopology: true,
useNewUrlParser: true,
});
console.log("Database connected");
} catch (error) {
console.log("you got this ", error);
}
};
export default Connection;
import express from "express";
import Connection from "./database/db.js";
import Routes from "./routes/route.js";
const app = express();
const PORT = 8000;
app.use("/", Routes);
Connection();
app.listen(PORT, () => {
console.log(`server is running at port ${PORT}`);
});
The server is running at port 8000
Database connected
Im Falle von Fehlern gehen Sie die Schritte einfach noch einmal durch.
Schema erstellen
Nun ist unser nächster Schritt, das Schema der Sammlung zu erstellen (Die Sammlung ist das Äquivalent einer Tabelle in einer relationalen Datenbank).
Erstellen Sie unter diesem Ordner einen Ordner mit dem Namen Schema und erstellen Sie eine Datei mit dem Namen Schema.js.
import mongoose from "mongoose";
const userSchema = mongoose.Schema({
name: String,
username: String,
email: String,
phone: String,
});
const user = mongoose.model("user", userSchema);
export default user;
Der nächste Schritt besteht nun darin, APIs zu erstellen, um Daten über Nodejs in Mongodb zu speichern.
Erstellen Sie einen Ordner namens „routes“ in diesem Ordner und erstellen Sie eine Datei namens „route.js“. In dieser Datei definieren Sie die APIs, die wir zum Speichern von Daten verwenden.
import express from "express";
import User from "../schema/user-schema.js";
const router = express.Router();
router.post("/add", async (req, res) => {
const user = req.body;
const newUser = new User(user);
try {
await newUser.save();
res.status(201).json(newUser);
} catch {
res.status(409).json({ message: error.message });
}
});
router.get("/all", async (req, res) => {
try {
const users = await User.find({});
res.status(200).json(users);
} catch (error) {
res.status(404).json({ message: error.message });
}
});
router.put("/:id", async (req, res) => {
let user = req.body;
const editUser = new User(user);
try {
await User.updateOne({ _id: req.params.id }, editUser);
res.status(201).json(editUser);
} catch (error) {
res.status(409).json({ message: error.message });
}
});
router.delete("/:id", async (req, res) => {
try {
await User.deleteOne({ _id: req.params.id });
res.status(200).json({ message: "User deleted Successfully" });
} catch (error) {
console.log(error);
}
});
Für diesen Blog werde ich den Thunder-Client zum Testen der API verwenden, da er einfach zu installieren und die APIs einfach auszuführen ist. Sie müssen nur die Erweiterung im Visual Studio-Code installieren.
So können Sie Ihre API auf dem Thunder-Client testen:
- Post
3. Löschen
Abschluss
In diesem Blog haben wir gelernt, wie man CRUD-Operationen in MongoDB mithilfe der RESTful-API durchführt, die mit Nodejs erstellt wurde. Mit diesem Wissen sollten Sie in der Lage sein, komplexere Anwendungen mit MongoDB als Datenspeicher zu erstellen.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































