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?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

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