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,mongodumpenmongorestore.
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
Databasesen 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, ::1is 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
--authtoe.
- 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
27017met:bashmongosh1Of 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-demo1
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 opleveren1
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:
bashmongostat1U 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.0011
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
mongoshom 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
mongostatmet een refresh-interval van 2 seconden:bashmongostat 21 - 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
mongotopin de terminal; standaard ververst deze elke seconde:bashmongotop1Voorbeeldoutput:
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.0001
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 lezen1
2
3
4
5
6
7
8
9
10
11
12 - Start
mongotopin terminal B en stel de refresh in op 5 seconden voor stabielere views:bashmongotop 51 - Bekijk de output in terminal B;
servbay_app.sessionsspringt eruit quawriteentotaltijd, terwijl lezen inservbay_app.articlesrelatief 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-backup1 - Back-up van heel uw MongoDB-instantie (alle databases):bash
mongodump --out /Applications/ServBay/backup/mongodb/full-instance-backup1
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.bson1
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.
