Aan de slag met MongoDB voor de beginner

Ontdek wat MongoDB, installatiehandleiding en basisbediening zijn.


MongoDB NoSQL is meer dan ooit populair. Heb je er een noodzakelijk begrip van??

Maak je geen zorgen, zo niet, het volgende zal je helpen.

Invoering

Nu de website een paradigmaverschuiving naar dynamische inhoud ondergaat, steeg de vraag naar No-SQL-database. Dit leidde tot tal van No-SQL-databases zoals MongoDB.

Geclassificeerd als een No-SQL-database, MongoDB is een documentgebaseerde database die de gegevens opslaat in de vorm van JSON-documenten met een automatisch gegenereerde identificatie voor elk document.

Een No-SQL-database is een database waarin de tabelstructuur niet vaststaat, in tegenstelling tot gestructureerde SQL-databases. MongoDB slaat de gegevens op in de vorm van een JSON-reeks, ongeacht het aantal attributen of de naam van attributen in een specifieke kolom.

Hierdoor kunnen de ontwikkelaars snel wijzigingen aanbrengen in de entiteiten zonder dat er wijzigingen in het databaseniveau nodig zijn.

MongoDB installeren

MongoDB is, net als elke andere database, beschikbaar in meerdere varianten, afhankelijk van de ontwikkelingsbehoeften. De varianten zijn hieronder opgesomd en kunnen hiervan worden gebruikt of gedownload koppeling

  • MongoDB Atlas – Database as a service
  • Community Server – Gratis te gebruiken voor de community van ontwikkelaars
  • MongoDB Enterprise Edition – De commerciële versie met extra functies

Elk van deze is volledig compatibel met elk besturingssysteem. Download om te beginnen de installatie van de community-server het relevante installatiebestand volgens uw besturingssysteem.

Het installatieproces verschilt enigszins voor elk besturingssysteem en daarom zouden we elke installatie van het besturingssysteem afzonderlijk doorlopen.

Installeren in MacOS

MongoDB installeren in MacOS. Download het .tgz-archief met daarin de nodige binaire bestanden. Bij het uit het archief halen van het bestand, zou u een aantal binaire bestanden in de prullenbak map.

  • Verplaats de bin-map naar de gewenste locatie
  • Open een terminal en verander de directory in de bin-directory hierboven vermeld
  • Voer de onderstaande opdracht uit om een ​​database op de gewenste locatie te maken.

$ ./mongod –dbpath / pad-naar-gewenste-directory /

Vervang in de bovenstaande opdracht het pad naar de map door het gewenste pad en de server wordt gestart zodra de opdracht wordt uitgevoerd.

Installeren in Windows

MongoDB downloadcentrum biedt een uitvoerbaar bestand .msi pakket voor het installeren van MongoDB in Windows. De installatie in Windows is vrij eenvoudig en kan met een paar opdrachten worden gedaan nadat de installatie is gedownload.

  • Voer de onderstaande opdrachten uit om MongoDB op Windows-pc / server te installeren.

> cd / setup-map /
> msiexec.exe / q / i .msi ^
INSTALLLOCATION ="C: \ Program Files \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

De bovenstaande opdrachten brengen u naar de bijbehorende directory en voeren de installatie uit voor installatie op de opgegeven locatie. Na installatie moet u het standaard databaseopslagpad voor MongoDB configureren. De onderstaande opdracht helpt u hetzelfde te configureren

> md \ db \ data

De bovenstaande opdracht maakt een db / data-map aan in de directory waar de opdrachtprompt momenteel naar verwijst. Als u de database opnieuw moet configureren, kunt u mongod.exe gebruiken met de dbpath argument zoals hieronder getoond:

>"C: \ Program Files \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Installeren onder Linux

Net als bij de MacOS-downloads, zijn MongoDB voor Linux-varianten ook beschikbaar in de vorm van een gearchiveerde verzameling binaries. Het proces om MongoDB te installeren is vrij gelijkaardig.

  • Verplaats de binaire bestanden naar de gewenste locatie
  • Open de terminal in de map
  • Voer de onderstaande opdracht uit met de gewenste DB-locatie

$ ./mongod –dbpath / pad-naar-gewenste-directory /

Het creëren van de eerste collectie

MongoDB slaat de gegevens op in de vorm van JSON-documenten. Een groep van dergelijke documentatie staat gezamenlijk bekend als een verzameling in MongoDB. Een verzameling is dus analoog aan een tabel in een relationele database, terwijl een document analoog is aan een record.

Om documenten op te slaan, moeten we eerst een collectie maken. Het opwindende aan een NoSQL-database is dat je, in tegenstelling tot SQL-database, geen kolomnamen of gegevenstypen hoeft op te geven.

De eerste stap bij het maken van een collectie is het maken van een database. Om een ​​database te maken en er verbinding mee te maken via de opdrachtregel, voert u de onderstaande opdracht uit vanuit de MongoDB-installatiemap.

$ ./bin/mongo tutorial

Deze opdracht wordt gebruikt om de databaseverbinding te starten en tegelijkertijd verbinding te maken met de zelfstudiedatabase. Het toont een aantal regels in het logboek om aan te geven dat de opdrachtregel is verbonden met de MongoDB-database.

Een voorbeeld van een opdrachtregelafbeelding is hieronder weergegeven om u een beter idee hiervan te geven.

  • Voer de onderstaande opdracht uit om een ​​verzameling te maken:

$ > db.createCollection (‘firstCollection’);

Zo ontstaat er een lege collectie. De volgende stap is het invoegen van gegevens en het verwerken van de records met behulp van de MongoDB-opdrachtregel.

Een document in de collectie invoegen

Zoals hierboven besproken, is het mogelijk om bijna elke JSON in elke MongoDB-verzameling in te voegen.

Laten we beginnen met het invoegen van het eerste JSON-document in de firstCollection collectie hierboven gemaakt.

> db.firstCollection.insertOne ({naam: ‘Abhishek’, vaardigheid: ‘MongoDB’});

De bovenstaande opdracht voegt een enkel JSON-document in de firstCollection in. Hetzelfde kan worden geverifieerd met behulp van de onderstaande opdracht:

> db.firstCollection.find ();

De bovenstaande opdracht heeft meerdere toepassingen, afhankelijk van de variatie van de functie find (). Als er geen argumenten zijn opgegeven, zoals het geval is met de bovenstaande opdracht, worden alle beschikbare documenten uit de verzameling opgehaald.

U kunt nog een record invoegen en hetzelfde proberen. Als u dit doet, is de uitvoer van de bovenstaande opdracht vergelijkbaar met de onderstaande opdracht:

> db.firstCollection.find ();
{ "_ID kaart" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }
{ "_ID kaart" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "GeekFlare", "vaardigheid" : "Java, MongoDB, NodeJS" }

Zoals te zien is, worden er twee beschikbare records getoond. De functie find () kan gemakkelijk worden gebruikt om de documenten te filteren op basis van specifieke parameters. Laten we het document filteren met name attribuut.

Het filterproces is eenvoudig en kan worden begrepen uit de onderstaande opdracht:

db.firstCollection.find ({name: ‘Abhishek’});
{ "_ID kaart" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }

Het filter kan ook worden gebruikt met meerdere kenmerken in de JSON. Hoewel het mogelijk is om een ​​onbeperkt aantal parameters aan de query toe te voegen, is de beperking van deze benadering dat deze alleen overeenkomt met de exacte waarde van attributen.

Records filteren met Regex

Om een ​​MongoDB-equivalent van een MySQL-achtige clausule uit te voeren, gebruikt MongoDB regex. Regex is een reeks karakters die een patroon vormen dat bij elkaar past. De regex-literals zijn vergelijkbaar met de degenen die worden gebruikt in Javascript.

Voor de huidige collectie zullen we proberen de gegevens op te halen door een patroon te matchen voor het vaardigheidsattribuut. Het onderstaande commando krijgt de lijst met mensen met de vaardigheid MongoDB. Het haalt dus twee records op, omdat beide de string MongoDB bevatten.

> db.firstCollection.find ({vaardigheid: /.* MongoDB. * /});
{ "_ID kaart" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }
{ "_ID kaart" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "GeekFlare", "vaardigheid" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({vaardigheid: /.* Java. * /});
{ "_ID kaart" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "GeekFlare", "vaardigheid" : "Java, MongoDB, NodeJS" }

De bovenstaande code geeft het resultaat weer van twee verschillende strings in het regex-formulier. De eerste query haalt de lijst op van een document waarin het vaardigheidsattribuut het trefwoord MongoDB bevat, terwijl de andere query alleen mensen met ervaring in Java ophaalt.

De volgende uitdaging bij het zoeken op basis van criteria is om te vragen met een OR- of AND-voorwaarde.

Complexe zoekopdrachten in MongoDB

Zoals duidelijk is uit de bovenstaande opdrachten, MongoDB waar clausules werken op JSON. Het proces van het combineren van voorwaarden is ook afhankelijk van JSON zelf. MongoDB biedt operators zoals $ of, $ en ook $ om de relevante querybewerkingen niet uit te voeren.

Laten we proberen de lijst met documenten te krijgen waarin het naamkenmerk Abhishek bevat of vaardigheid Java bevat.

> db.firstCollection.find ({$ or: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_ID kaart" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }
{ "_ID kaart" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "Geekflare", "vaardigheid" : "Java, MongoDB, NodeJS" }

Zoals te zien is, haalt het beide records op. Je zou kunnen proberen het naamkenmerk als Geekflare te gebruiken en de verandering te zien. Alleen het document met drie vaardigheden en naam Geekflare wordt weergegeven.

Evenzo is het mogelijk om $ en operator te gebruiken met een JSON-reeks voorwaarden zoals hierboven weergegeven.

Voor de volgende set operators moeten we nog een verzameling maken en er enkele records aan toevoegen met de onderstaande opdrachten.

> db.createCollection (‘studentmarks’);
{ "OK" : 1}
> db.studentmarks.insertMany ([{name: ‘A’, marks: 20}, {name: ‘B’, marks: 25}, {name: ‘C’, marks: 22}, {name: ‘D’, markeringen: 30}]);
{
"erkend" : waar,
"ingevoegde ID’s" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

De volgende reeks operators die we zouden gebruiken, zijn vergelijkingsoperatoren in de query. Waarden vergelijken met criteria als minder dan of groter dan of niet gelijk aan, we gebruiken de relevante operators in de waarde die we doorgeven.

Hieronder ziet u een voorbeeld van het verkrijgen van een lijst met studenten met een cijfer hoger dan 22.

db.studentmarks.find ({marks: {$ gt: 22}});
{ "_ID kaart" : ObjectId ("5b06e7b5c29a7184535e783d"), "naam" : "B", "merken" : 25}
{ "_ID kaart" : ObjectId ("5b06e7b5c29a7184535e783f"), "naam" : "D", "merken" : 30}

De $ gt hier geeft aan groter dan in de criteria. Zo worden de documenten met markeringen van meer dan 22 weergegeven. Evenzo zijn er andere operators die kunnen worden gebruikt. Ze staan ​​hieronder vermeld.

Telefoniste
Gebruik
Voorbeeld
$ eqControleer of de waarde gelijk is{marks: {$ eq: 20}}
$ ltControleer of de waarde kleiner is dan{marks: {$ lt: 20}}
$ gteControleer of de waarde groter is dan of gelijk is aan{marks: {$ gte: 22}}
$ lteControleer of de waarde kleiner is dan of gelijk is aan{marks: {$ lte: 22}}
$ neControleer of de waarde niet gelijk is aan{marks: {$ ne: 22}}
$ inControleer of de waarde gelijk is aan een van de waarden uit de array{marks: {$ in: [20,22]}}
$ ninControleer of de waarde niet gelijk is aan een waarde uit de array{marks: {$ nin: [22,25]}}

GUI voor MongoDB

In de bovenstaande discussie hebben we een opdrachtregel gebruikt om onze zoekopdrachten in MongoDB uit te voeren.

Het gebruik van de opdrachtregel kan een uitdaging zijn als het gaat om complexe query’s en een groter aantal gegevens. Om het gemakkelijker te maken om de gegevens te bekijken en de query’s uit te voeren, biedt MongoDB u een uitstekende GUI-tool genaamd het MongoDB-kompas.

MongoDB-kompas kan eenvoudig worden gedownload van de MongoDB downloadt site. Nadat u MongoDB Compass hebt gedownload en geïnstalleerd, start u de applicatie en wordt u verwelkomd door een scherm dat lijkt op het onderstaande scherm.

MongoDBCompass

Aangezien u de MongoDB-server in gebruik heeft, klikt u op verbinden met de standaarddetails. U moet ingelogd zijn en de lijst met beschikbare databases zien.

Klik op de tutorialdatabase om de lijst met collecties in de tutorial db te bekijken. Zoals hieronder getoond, toont het de lijst met beschikbare collecties in de tutorial db.

Als u op de verzameling klikt, wordt de lijst met documenten weergegeven met de nodige bedieningselementen om de records te filteren met behulp van een JSON, evenals de mogelijkheid om de documenten te bekijken in een JSON-formaat of een tabelformaat volgens ons gemak.

De GUI maakt het ook eenvoudiger om een ​​document toe te voegen. Het enige dat u hoeft te doen, is op de knop Document invoegen te klikken in het onderstaande scherm. Er wordt een klein dialoogvenster geopend waarin om de documentdetails wordt gevraagd met een automatisch gegenereerde document-ID.

MongoDBDocuments

GUI vereenvoudigt veel bewerkingen die mogelijk moeilijk uit te voeren zijn met behulp van de MongoDB-opdrachtregelinterface.

Conclusie

We hebben de essentie van NoSQL vastgelegd met een verscheidenheid aan voorbeelden en begrepen de installatie, hoe documenten verschillen in vergelijking met een typisch relationeel databaserecord. U kunt dit ook doorverwijzen MongoDB helemaal opnieuw leren online cursus.

En als u een ontwikkelaar bent, bent u misschien geïnteresseerd in deze.

TAGS:

  • Database

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map