Tutorials  /  JavaScript

Mongoose mit MongoDB und NodeJS einrichten

Ccentron Redaktion · Dezember 2025 ·7 Min. Lesezeit ·JavaScript, Tutorial

Überblick zu Mongoose

Mongoose ist eine ODM-Bibliothek (Object Data Modeling), die auf dem MongoDB-Driver aufsetzt. Sie ermöglicht eine saubere, kompakte Arbeit mit MongoDB und erleichtert die Objektmodellierung in einer NodeJS-Umgebung.

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Voraussetzungen

Bevor du loslegst, solltest du idealerweise:

  • einen Nicht-Root-Benutzer mit sudo-Rechten einrichten.
  • sicherstellen, dass dein Server vollständig aktuell ist.
  • prüfen, ob build-essential installiert ist. Falls nicht, installiere es mit:
Konsole
$ sudo apt install build-essential

1. MongoDB

Installiere MongoDB.

Konsole
$ sudo apt install mongodb

Überprüfe, ob die Installation korrekt läuft. In der Statusausgabe solltest du „active (running)“ sehen.

Konsole
$ sudo systemctl status mongodb
Active: active (running)

2. NodeJS und NPM

Füge das neueste stabile NodeJS-Repository hinzu.

Konsole
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

Installiere NodeJS.

Konsole
$ sudo apt install nodejs

Stelle sicher, dass NodeJS und NPM korrekt installiert sind.

Konsole
$ node -v && npm -v
v12.x.x
6.x.x

3. Mongoose-Projekt initialisieren

Lege das Hauptverzeichnis für dein Projekt an.

Konsole
$ cd ~
$ mkdir mongooseProject && cd mongooseProject

Initialisiere ein NodeJS-Entwicklungssetup, damit automatisch eine package.json erstellt wird:

Konsole
$ npm init

Beantworte die kurzen Einrichtungsfragen passend zu deinem Projekt. Wenn du zum Beispiel jedes Mal nur Enter drückst und damit die Standardwerte übernimmst, antwortet npm init etwa so:

Code
About to write to /root/mongooseProject/package.json:

{
"name": "mongooseproject",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

Installiere anschließend im Projektstamm die benötigten Pakete mit npm:

Konsole
$ npm install --save mongoose

4. Ein Modell definieren

Erstelle im Projektstamm einen Ordner namens Models und wechsle hinein:

Konsole
$ cd ~/mongooseProject
$ mkdir Models && cd Models

Erstelle connectDB.js. Diese Datei enthält die Verbindungslogik für deinen MongoDB-Server.

Konsole
$ nano connectDB.js

Füge Folgendes in connectDB.js ein.

JavaScript
const mongoose = require('mongoose'); // Import mongoose library

module.exports = function(uri) {
    mongoose.connect(uri, {  //attempt to connect to database
        useNewUrlParser: true, // Recommended, insures support for future MongoDB drivers
        useUnifiedTopology: true // Recommended, uses new MongoDB topology engine
    }).catch(error => console.log(error)) // Error handling


    mongoose.connection.on('connected', function () { // On connection
        console.log('Successful connection with database: ' + uri); // Callback for successful connection
    });
}

Erstelle Users.js. Diese Datei enthält das Modell für die Datenbank-Collection Users.

Konsole
$ nano Users.js

Füge Folgendes in Users.js ein, um ein grundlegendes Users-Schema zu definieren.

JavaScript
const mongoose = require("mongoose"); // Import mongoose library
const Schema = mongoose.Schema // Define Schema method

// Schema
var UsersSchema = new Schema({ // Create Schema
    name: String, // Name of user
    age: Number, // Age of user
    role: String // Role of user
})

// Model
var Users = mongoose.model("Users", UsersSchema) // Create collection model from schema
module.exports = Users // export model

5. Dokumente in MongoDB einfügen

Lege insertUser.js im Projektstamm an.

Konsole
$ cd ~/mongooseProject
$ nano insertUser.js

Füge Folgendes in insertUser.js ein. Dieses Script schreibt Dokumente in die Users-Collection.

JavaScript
//Library
const mongoose = require("mongoose")

// Database connection
const connectDB = require("./Models/connectDB")
var database = "mongoose" // Database name

// Models
const Users = require("./Models/Users")

// Connect to database
connectDB("mongodb://localhost:27017/"+database)

var insertedUser = new Users({ // Create new document
    name: "John Doe",
    age: 18,
    role: "Example User"
})

insertedUser.save(err => { // save document inside Users collection
    if(err) throw err // error handling
    console.log("Document inserted!")
    mongoose.disconnect() // disconnect connection from database once document is saved
})

Starte insertUser.js.

Konsole
$ node insertUser.js
Successful connection with database: mongodb://localhost:27017/mongoose
Document inserted!

6. Dokumente aus MongoDB lesen

Lege readUsers.js im Projektstamm an.

Konsole
$ cd ~/mongooseProject
$ nano readUsers.js

Füge den folgenden Inhalt in readUsers.js ein. Dieses Script liest Dokumente aus der Users-Collection.

JavaScript
//Library
const mongoose = require("mongoose")

// Database connection
const connectDB = require("./Models/connectDB")
var database = "mongoose" // Database name

// Models
const Users = require("./Models/Users")

// Connect to database
connectDB("mongodb://localhost:27017/"+database)

Users.find({}, (err, users)=>{ //find and return all documents inside Users collection
    if(err) throw err // error handling
    console.log(users)
    mongoose.disconnect()
})

Führe readUsers.js aus. Das Ergebnis ist ein Array aus Objekten.

Konsole
$ node readUsers.js
Successful connection with database: mongodb://localhost:27017/mongoose
[ { _id: ************************,
    name: 'John Doe',
    age: 18,
    role: 'Example User',
    __v: 0 } ]

Fazit

Du hast Mongoose so eingerichtet, dass es mit MongoDB zusammenarbeitet. Für weitere Details sieh dir die Mongoose-API-Dokumentation an.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren