Het nut van MongoDB is het gebruiksgemak, de schaalbaarheid en de JSON-achtige syntaxis waarmee de opgeslagen gegevens worden weergegeven. Aan de andere kant, als u gekke bewerkingen op uw datasets zoals JOINs wilt doen, vindt u MongoDB omslachtig en zijn traditionele SQL-databases daar beter geschikt voor.
In ieder geval zou dit artikel geen enkele bekendheid met databases veronderstellen. We gaan er gewoon van uit dat je MongoDB op je server/desktop hebt geïnstalleerd (het is beschikbaar op Windows, Mac en Linux). Als dat is geïnstalleerd, zullen we onze voorbeelddatabase maken en MongoDB in actie zien.
Vereisten
- MongoDB-installatie. U kunt de officiële documentatie volgen om uw huidige besturingssysteem te installeren. OF
- Optioneel kunt u zich aanmelden voor MongoDB-atlas. Ze bieden een gratis laag met 512 MB aan permanente opslag. Perfecte omgeving voor experimenten of kleine projecten.
- Als u helemaal geen software wilt installeren, kunt u Katacoda bezoeken en hun webgebaseerde interface gebruiken als een kortstondige sandbox-omgeving.
Beginnen
Ervan uitgaande dat je een MongoDB-server hebt geïnstalleerd en een shell verbonden met de server, kunnen we beginnen met het verkennen van een paar functies ervan. Maar eerst een paar terminologieën - Een mongodb-server heeft een lijst met: databases dbs erin. Elke database kan meerdere collecties in het.
Een universiteit kan bijvoorbeeld een personeelsdatabase hebben die vervolgens verschillende collecties kan hebben voor verschillende afdelingen, zoals een collectie voor wiskunde, een voor biologie enzovoort.
Elke collectie kan dan een document bevatten, een document zou de details van een individueel personeelslid erin bevatten. Zoals eerder vermeld, worden de opgeslagen gegevens weergegeven op een JSON-achtige manier en kunnen we verschillende waarden opvragen met behulp van de sleutels waaraan ze zijn gekoppeld.
Database maken
Het maken van een database gebeurt impliciet wanneer u een database probeert te gebruiken. In dit voorbeeld, als je in Mongo shell bent en je typt in:
> gebruik testDbMongoDB controleert eerst of je een database hebt met de naam testdb, zo niet, dan wordt er een nieuwe gemaakt die je kunt gebruiken en de Mongo Shell schakelaars naar testdb. Dit betekent dat elke verzameling en elk document dat wordt gemaakt, bijgewerkt of gelezen uit deze database zou komen, tenzij expliciet anders aangegeven.
U kunt de opdracht > db gebruiken om af te drukken in welke database u zich nu bevindt en de opdracht > show dbs gebruiken om alle beschikbare en gemaakte databases weer te geven.
> dbtestDb
> toon dbs
beheerder 0.000 GB
configuratie 0.000 GB
lokaal 0.000 GB
mijndb 0.000 GB
Misschien wilt u de beheerders-, configuratiedatabases verlaten zoals deze door Mongo worden gebruikt voor administratieve doeleinden.
Collectie maken
Om een verzameling aan te maken, moet u er eerst voor zorgen dat u zich in de juiste database bevindt waar u de verzameling wilt maken. U kunt nu op twee verschillende manieren een collectie maken:
1. Expliciet een collectie maken:
Met behulp van de opdracht:
> db.createCollection("testCollection1");"oké" : 1
Dit creëerde een verzameling met de naam testCollection1.
2. Een document invoegen in een nieuwe verzameling
U kunt ook eenvoudig proberen een document in te voegen in een verzameling die niet bestaat. Mongo zal een collectie voor je maken. Houd er rekening mee dat hoewel dit handig is voor het programmatisch maken van verzamelingen, als u Mongo-shell gebruikt en ergens een typfout maakt terwijl u probeert een document in te voegen, het document mogelijk in een nieuwe database terechtkomt zonder dat u het weet.
De syntaxis is: db.collectienaam.invoegen (document);
Hier is db letterlijk de string db, verzameling
Als u bijvoorbeeld een verzameling testCollection2 in de testDb-database wilt maken, gebruikt u de volgende opdracht:
> db.testCollection2.invoegen(naam: "Jan",
sleutel waarde"
leeftijd: 25
);
Hier wordt het documentgedeelte weergegeven in de volgende JSON-tekenreeks:
naam: "Jan",
sleutel waarde"
leeftijd: 25
Dit zijn de sleutel-waardeparen die typisch zijn voor een JSON-tekenreeks. De naam is de sleutel en "John" is de waarde. U kunt meerdere documenten in deze verzameling hebben met de sleutelnaam en een andere waarde voor naam, bijvoorbeeld Jane.
Gebruik de opdracht om alle collecties in een bepaalde database weer te geven:
> collecties tonentestCollection1
testCollection2
U kunt zien dat beide collecties nu zijn gemaakt. We hebben ook per ongeluk geleerd hoe we een nieuw document aan een verzameling kunnen toevoegen.
Tonen
We hebben het show-trefwoord vrij veel gebruikt om de collecties en databases weer te geven. Om dit een beetje samen te vatten, dit waren de commando's:
> toon dbs> collecties tonen
Deze kunnen samen met het commando db om de huidige database af te drukken erg handig zijn tijdens interactie met de Mongo-shell.
Drop-collecties en Drop-databases
De trefwoorddaling is iets dat we tot nu toe nog niet zijn tegengekomen. Het wordt gebruikt om collecties of zelfs hele databases van je mongo-server te verwijderen. De volgende syntaxis leidt u door het proces:
1. Verzameling laten vallen
Laten we de verzameling testCollection2 die we eerder hebben gemaakt, verwijderen:
> db.testCollection2.laten vallen()U kunt het commando show collections gebruiken om te controleren of dit inderdaad werkte. Er zal één database minder zijn dan we eerder hadden, ik zal je laten raden welke zal ontbreken.
2. Database laten vallen
Voordat je blindelings de opdracht uitvoert om de database te laten vallen, absoluut zeker weten dat je gelijk hebt database. Anders verliest u mogelijk waardevolle gegevens die elders zijn opgeslagen. We zullen de database testDb laten vallen die we eerder hebben gemaakt, laten we ervoor zorgen dat we daar zijn:
> dbtestDb
> db.dropDatabase();
De laatste opdracht laat de database vallen, zoals je kunt zien aan de naam.
Conclusie
MongoDB heeft aan populariteit gewonnen samen met de Node.js-project. Ze delen allebei een soort symbiose waardoor ze een succes konden worden. JSON-achtige weergave, schaalbaarheid en een gemakkelijke en dynamische manier om documenten te maken, hebben MongoDB behoorlijk wat bekendheid opgeleverd.
Als u op zoek bent naar databasetechnologie voor een snel weekendproject of zelfs voor een serieuze hoeveelheid gegevens, is MongoDB een optie die u serieus moet overwegen.