MongoDB Database installeren en beheren in ServBay
MongoDB is een toonaangevende NoSQL documentendatabase, geliefd om zijn flexibiliteit, krachtige querymogelijkheden en schaalbaarheid, waardoor het een populaire keuze is voor moderne applicatie-ontwikkeling. ServBay biedt macOS-ontwikkelaars een ongekend geïntegreerde omgeving waarmee het installeren, configureren en beheren van meerdere MongoDB-versies enorm wordt vereenvoudigd. ServBay bevat bovendien een complete set van kern command-line tools zodat u over een volledig, efficiënt lokaal ontwikkel- en teststation beschikt.
Overzicht: Waarom MongoDB gebruiken in ServBay?
ServBay is meer dan een launcher – het is een complete beheerder van ontwikkelomgevingen. Voor MongoDB betekent dit:
- Meerdere versies naast elkaar & snel wisselen: Installeer en run met één klik verschillende MongoDB-versies (zoals 5.0, 6.0, 7.0, etc.) en schakel soepel tussen projecten zonder compatibiliteitszorgen.
- Grafische configuratie: Geen gedoe meer met handmatige config-bestanden. In ServBay configureert u poorten, IP, datamap en andere kerninstellingen direct vanuit de grafische omgeving.
- Geïntegreerde toolchain: ServBay beheert en integreert automatisch de officiële MongoDB Shell (
mongosh
) en MongoDB Database Tools, zodat u direct aan de slag kunt met sleuteltools alsmongostat
,mongotop
,mongodump
enmongorestore
.
In deze handleiding leert u van A tot Z hoe u MongoDB lokaal installeert, configureert, interactief beheert, real-time monitort én betrouwbare backup/herstel uitvoert – alles wat u nodig heeft om als pro met MongoDB te werken.
1. MongoDB-dienst installeren en configureren
Stap 1: MongoDB-pakket installeren
MongoDB installeren in ServBay is uw eerste stap.
Open de ServBay-applicatie.
Klik op Pakketten (Packages) in de zijbalk aan de linkerkant.
Scroll in het pakketoverzicht naar de categorie
Databases
en zoek het gedeelteMongoDB
.Kies de gewenste MongoDB-versie voor uw project (bijv.
MongoDB 7.0
) en klik op de installatieknop aan de rechterzijde. ServBay downloadt en installeert het pakket automatisch.
Stap 2: Gedetailleerde configuratie van de MongoDB-dienst
Na de installatie kunt u de MongoDB-dienst fijn afstellen.
Klik in het linker navigatiemenu op Databases -> MongoDB -> de zojuist geïnstalleerde versie (zoals
MongoDB 7.0
).In deze interface kunt u de volgende kerninstellingen aanpassen:
- Bind IP (Koppel-IP): Dit is het IP-adres waar MongoDB naar netwerkverzoeken luistert. De standaardwaarde
127.0.0.1, ::1
is het veiligst voor lokale ontwikkeling; hiermee kunnen enkel applicaties op uw eigen machine verbinding maken. - Bind Port (Koppelpoort): De toegangsport van de database. Standaard gebruikt MongoDB poort
27017
; het is aangeraden deze instelling alleen te wijzigen als u daar een speciaal doel voor heeft. - Socket: Het Unix socket-bestandspad voor lokale connecties. Werken via een socket is efficiënter dan via TCP/IP omdat het de netwerklaag omzeilt.
- Data dir (Datamap): Het lokale pad waar MongoDB al zijn databestanden (collecties, indexen, etc.) opslaat. ServBay kiest hier een veilig standaardpad voor, maar via het map-icoon aan de rechterzijde springt u zo naar deze map in Finder.
- Additional Parameters (Aanvullende parameters): Voor gevorderd gebruik – hier kunt u extra opstartparameters meegeven. Bijvoorbeeld, om authenticatie aan te zetten, voegt u
--auth
toe.
- Bind IP (Koppel-IP): Dit is het IP-adres waar MongoDB naar netwerkverzoeken luistert. De standaardwaarde
Stap 3: MongoDB-dienst opstarten
- Na het instellen klikt u rechtsonder op Opslaan (Save).
- Ga terug naar de Pakketten (Packages)-pagina, zoek de zojuist geconfigureerde MongoDB-versie en zet de grijze aan/uit schakelaar aan om de dienst te starten.
- De schakelaar wordt groen en het statuslampje gaat aan: uw MongoDB-instantie draait en is klaar voor verbindingen.
2. Interactief beheren: MongoDB Shell (mongosh
) volledig in de vingers
mongosh
is de officiële moderne command-line interface voor MongoDB, met syntax-highlighting, slimme auto-aanvulling, commandogeschiedenis en scripting-mogelijkheden. Het is dé tool voor interactieve databasewerkzaamheden.
MongoDB Shell installeren
ServBay biedt mongosh
als een optioneel pakket – u installeert het naar behoefte.
- Zoek in het Pakketten (Packages)-overzicht naar
MongoDB Shell
. - Klik op de installatieknop ernaast. Na installatie is het
mongosh
-commando overal beschikbaar binnen de ServBay-beheerde terminalomgeving.
Werken met mongosh
Gebruik mongosh
in elke terminal (zoals de standaard macOS Terminal of iTerm2) waar ServBay actief is.
Basisverbinding: Open een terminal en verbind met uw lokaal draaiende MongoDB-instantie op poort
27017
met:bashmongosh
1Of met het volledig gespecificeerde connectiestring:
bashmongosh "mongodb://127.0.0.1:27017"
1Interactieve bewerkingsvoorbeelden (CRUD): Na verbinding komt u in een krachtige JavaScript-shell. Hieronder demonstreren we de veelvoorkomende bewerkingen:
Stap 1: Selecteer of maak een database
javascript// Deze opdracht wisselt naar database servbay-demo. Bestaat deze niet, dan wordt hij aangemaakt bij de eerste write. use servbay-demo
1
2Stap 2: Maak een collectie en voeg data in (Create)
javascript// Voeg één gebruiker toe db.users.insertOne({ _id: 1, name: "Alice", email: "alice@servbay.demo", age: 30, tags: ["developer", "php", "backend"], joined_date: new Date("2023-01-15") }) // Voeg meerdere gebruikers toe voor rijkere queryvoorbeelden db.users.insertMany([ { _id: 2, name: "Bob", email: "bob@servbay.demo", age: 25, tags: ["designer", "ui", "frontend"] }, { _id: 3, name: "Charlie", email: "charlie@servbay.demo", age: 35, tags: ["developer", "python", "data"] }, { _id: 4, name: "Diana", email: "diana@servbay.demo", age: 29, tags: ["developer", "nodejs", "backend"] } ])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Stap 3: Data opvragen (Read)
javascript// Alle documenten weergeven, mooi geformatteerd met .pretty() db.users.find().pretty() // Query met condition: vind alle developers ouder dan 28 jaar db.users.find({ age: { $gt: 28 }, tags: "developer" }) // Alleen specifieke velden teruggeven: alleen naam en e-mail db.users.find({}, { name: 1, email: 1, _id: 0 })
1
2
3
4
5
6
7
8Stap 4: Data bijwerken (Update)
javascript// Eén document updaten: geef Alice een extra 'lead'-tag en werk haar leeftijd bij db.users.updateOne( { name: "Alice" }, { $set: { age: 31 }, $addToSet: { tags: "lead" } } // $addToSet voorkomt dubbele tags ) // Meerdere documenten updaten: alle 'backend'-developers krijgen een 'active'-status db.users.updateMany( { tags: "backend" }, { $set: { status: "active" } } )
1
2
3
4
5
6
7
8
9
10
11Stap 5: Data verwijderen (Delete)
javascript// Eén document verwijderen db.users.deleteOne({ name: "Bob" }) // Resultaat controleren na verwijdering db.users.find({ name: "Bob" }).count() // Moet 0 opleveren
1
2
3
4
5
3. Real-time monitoring en beheer: De MongoDB database tools beheersen
ServBay integreert tevens het MongoDB Database Tools
pakket, inclusief onmisbare beheer- en monitoringtools zoals mongostat
, mongotop
, mongodump
en mongorestore
.
MongoDB Database Tools installeren
- Ga naar Pakketten (Packages) en zoek
MongoDB Database Tools
. - Klik op de installatieknop.
3.1 Real-time status monitoren met mongostat
mongostat
is als een elektrocardiogram voor uw MongoDB-instantie: het geeft met hoge frequentie snapshots van alle kernstatistieken, ideaal voor performance-diagnose en workload-observatie.
Basisgebruik: Open een nieuwe terminal en voer het onderstaande commando uit om elke seconde statistieken te updaten:
bashmongostat
1U ziet output zoals het volgende voorbeeld – elke regel is een momentopname:
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time *0 *0 *0 *0 0 1|0 0.0% 23.2% 0 1.29G 84.0M 0|0 1|0 103b 501b 4 Nov 26 15:30:00.001 *0 *0 *0 *0 0 1|0 0.0% 23.2% 0 1.29G 84.0M 0|0 1|0 71b 501b 4 Nov 26 15:30:01.001
1
2
3Uitleg belangrijkste kolommen:
insert
,query
,update
,delete
: Aantal bewerkingen per seconde.dirty
: Percentage onbeveiligde (“vuile”) cache-data.used
: Percentage gebruikte cache.vsize
,res
: Verbruikte virtuele en resident memory.qrw
,arw
: Aantal wachtende clients voor lees-/schrijfbewerkingen.net_in
,net_out
: Netwerk in- en uitgaand dataverkeer.conn
: Huidig aantal verbindingen.
Praktijksituatie: Hoge schrijfbelasting observeren
- Open terminal A en verbind met
mongosh
om een script uit te voeren dat logregels blijft schrijven:javascript// Uitvoeren in mongosh use log_system print("Starten met snelle log-insertie...") while (true) { db.app_logs.insertOne({ level: "INFO", message: "User activity detected.", timestamp: new Date() }); sleep(50); // Elke 50 ms (20x per seconde) één write }
1
2
3
4
5
6
7 - Open terminal B en start
mongostat
met een refresh-interval van 2 seconden:bashmongostat 2
1 - Bekijk de output in terminal B; u zult zien dat de
insert
-kolom rond de *40 ligt (20 inserts/sec * 2 sec interval), direct inzicht gevend dat schrijven de hoofdbelasting vormt.
- Open terminal A en verbind met
3.2 Het volgen van leestijden per collectie met mongotop
Als mongostat
u vertelt hoe druk de database is, vertelt mongotop
u waar de drukte zit. Het volgt per collectie de tijd die aan lees- en schrijfbewerkingen wordt besteed, wat essentiële inzichten biedt in prestatie-hotspots.
Basisgebruik: Gebruik
mongotop
in de terminal; standaard ververst deze elke seconde:bashmongotop
1Voorbeeldoutput:
ns total read write time local.oplog.rs 1101ms 155ms 946ms Nov 26 15:35:00.000 servbay-app.sessions 210ms 1ms 209ms Nov 26 15:35:00.000 servbay-app.articles 15ms 15ms 0ms Nov 26 15:35:00.000
1
2
3
4Belangrijkste kolommen:
ns
: Namespace (database.collectie
).total
: Totale tijd per collectie.read
: Leestijd.write
: Schrijftijd.
Praktijksituatie: Hotspot-collecties identificeren
- Voer in terminal A (
mongosh
) een simulatie uit van een applicatie die vaak sessies bijwerkt en af en toe artikelen leest:javascript// Uitvoeren in mongosh use servbay_app print("Simuleren van applicatiebelasting...") // Regelmatig sessies bijwerken setInterval(() => { db.sessions.updateOne({ sid: "session_abc" }, { $set: { data: Math.random() } }, { upsert: true }); }, 50); // Elke 50 ms update // Minder vaak artikelen lezen setInterval(() => { db.articles.find({ tags: "featured" }).limit(5).toArray(); }, 500); // Elke 500 ms lezen
1
2
3
4
5
6
7
8
9
10
11
12 - Start
mongotop
in terminal B en stel de refresh in op 5 seconden voor stabielere views:bashmongotop 5
1 - Bekijk de output in terminal B;
servbay_app.sessions
springt eruit quawrite
entotal
tijd, terwijl lezen inservbay_app.articles
relatief laag blijft. Zo ontdekt u eenvoudig prestatieknelpunten, bijvoorbeeld door te vaak schrijven naarsessions
.
- Voer in terminal A (
3.3 Data back-uppen met mongodump
mongodump
is een krachtig hulpmiddel om binair (BSON-formaat) een backup van uw MongoDB-gegevens te maken.
- Back-up van een enkele database:bash
mongodump --db servbay-demo --out /Applications/ServBay/backup/mongodb/servbay-demo-backup-$(date +%F)
1 - Back-up van een specifieke collectie:bash
mongodump --db servbay-demo --collection users --out /Applications/ServBay/backup/mongodb/users-backup
1 - Back-up van heel uw MongoDB-instantie (alle databases):bash
mongodump --out /Applications/ServBay/backup/mongodb/full-instance-backup
1
3.4 Data herstellen met mongorestore
mongorestore
gebruikt u om een met mongodump
gemaakte backup terug te zetten in MongoDB.
- Herstel van een complete database:bash
# --drop zorgt ervoor dat bestaande collecties eerst worden verwijderd voor een schone hersteloperatie mongorestore --drop --db servbay-demo /Applications/ServBay/backup/mongodb/servbay-demo-backup-2023-11-26/servbay-demo/
1
2 - Een enkele collectie herstellen naar een nieuwe collectie:bash
mongorestore --db servbay-demo --collection users_restored /Applications/ServBay/backup/mongodb/users-backup/users.bson
1
4. Verbinden met grafische databasebeheertools (GUI)
Naast de command-line kunt u ook mainstream grafische MongoDB-beheerapplicaties gebruiken voor het beheren en doorzoeken van uw database in ServBay – handig voor het verkennen van data en het ontwerpen van aggregatiepipelines. Aanraders: MongoDB Compass, TablePlus, of Studio 3T.
Voor verbinding met uw GUI-tool configureert u het volgende:
- Host:
127.0.0.1
- Poort:
27017
- Authenticatie: Laat dit leeg, tenzij u expliciet authenticatie heeft ingeschakeld (
--auth
) en zelf gebruikers heeft aangemaakt.
Samenvatting
ServBay combineert de kracht van MongoDB met de eenvoudige macOS-ervaring en biedt zo een ongeëvenaarde lokale ontwikkelomgeving. Met deze gids beheerst u niet alleen het snel opstarten en draaien van MongoDB, maar ook geavanceerde Shell-bewerkingen met mongosh
, professionele monitoring met mongostat
& mongotop
, én betrouwbare backup en herstel met mongodump
en mongorestore
. U bent nu helemaal klaar om MongoDB met vertrouwen in uw volgende project in te zetten.