sql >> Database >  >> NoSQL >> MongoDB

De MongoDB basishandleiding

MongoDB is een NoSQL-database. Onder de NoSQL overkoepelend plaatsen we al die databases die de SQL-taal niet gebruiken voor het opvragen van de gegevens.

Belangrijkste kenmerken van MongoDB

MongoDB is een zeer JavaScript-vriendelijke database. Het onthult een JavaScript-API die we kunnen gebruiken om databases en verzamelingen objecten te maken (genaamd documenten ).

Het is schemaloos , wat betekent dat u geen structuur voor de gegevens hoeft te definiëren voordat u deze opslaat.

In MongoDB kunt u elk object opslaan zonder dat u zich zorgen hoeft te maken over de specifieke velden waaruit dit object bestaat en hoe u ze kunt opslaan. Je vertelt MongoDB om dat object op te slaan.

Gegevens worden opgeslagen in een indeling die vergelijkbaar is met JSON, maar verbeterd om meer dan alleen basisgegevenstypen op te slaan.

Installatie

Laten we doorgaan en MongoDB installeren. Je zou een van de vele cloudproviders kunnen gebruiken die toegang bieden tot een MongoDB-instantie, maar om het te leren, zullen we het zelf installeren.

Ik gebruik een Mac, dus de installatie-instructies in deze tutorial verwijzen naar dat besturingssysteem.

Open de terminal en voer het volgende uit:

brew tap mongodb/brew
brew install mongodb-community

Dat is het.

De instructies waren niet te lang of ingewikkeld, ervan uitgaande dat je weet hoe je de terminal moet gebruiken en hoe je Homebrew moet installeren.

De installatie vertelt ons dit:

To have launchd start mongodb now and restart at login:
  brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Je kunt ervoor kiezen om MongoDB één keer te starten en het voor altijd te laten draaien als een achtergrondservice op je computer (waar ik de voorkeur aan geef), of je kunt het gewoon uitvoeren wanneer je het nodig hebt, door het laatste commando uit te voeren.

De standaardconfiguratie voor MongoDB is deze:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Logboeken worden opgeslagen in /usr/local/var/log/mongodb/mongo.log en de database wordt opgeslagen in /usr/local/var/mongodb .

Standaard is er geen toegangscontrole, iedereen kan lezen en schrijven naar de database.

De Mongo Shell

De beste manier om met MongoDB te experimenteren en ermee te beginnen, is door de mongo . uit te voeren programma, dat de MongoDB-shell start.

Je kunt nu elk commando invoeren dat Mongo begrijpt.

Maak een database

Wanneer je begint, maakt Mongo een database aan met de naam test . Voer db uit in de shell om u de naam van de actieve database te vertellen

Om de database te wijzigen, schrijf je gewoon use newname en de newname database zal onmiddellijk worden aangemaakt en de shell schakelt over naar het gebruik daarvan.

Gebruik show databases om de beschikbare databases weer te geven:

Zoals je kunt zien, is het something database staat niet in de lijst, alleen omdat er nog geen collectie in zit. Laten we er een maken.

Collecties

In MongoDB, een verzameling is het equivalent van een SQL-databasetabel.

U maakt een verzameling op de huidige database met behulp van de db.createCollection() opdracht. Het eerste argument is de databasenaam en u kunt een options-object als tweede parameter doorgeven.

Zodra u dit doet, show databases zal de nieuwe database weergeven, en show collections zal de collectie weergeven.

U kunt ook een nieuwe verzameling maken door deze te gebruiken als een eigenschap van de db object, en aanroepen van insert() om een ​​object aan de collectie toe te voegen:

db.dogs.insert({ name: 'Roger' })

Objecten in een verzameling vermelden

Gebruik de find() . om de objecten te tonen die aan een collectie zijn toegevoegd methode:

Zoals je kunt zien is er een extra _id eigendom voor de goede orde die we hebben toegevoegd. Dat wordt automatisch voor ons gegenereerd door MongoDB.

Voeg nu meer honden toe:

db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })

Aanroepen van db.dogs.find() geeft ons alle items, terwijl we een parameter kunnen doorgeven om een ​​specifiek item te filteren en op te halen, bijvoorbeeld met db.dogs.find({name: 'Roger'}) :

De find() methode retourneert een cursor die u moet herhalen.

Er is een andere methode die handig is als je weet dat je maar één record krijgt, namelijk findOne() , en het wordt op dezelfde manier gebruikt. Als meerdere records overeenkomen met een zoekopdracht, wordt alleen de eerste geretourneerd.

Records bijwerken

Om een ​​record bij te werken, kunt u de update() . gebruiken methode op een verzameling:

Records verwijderen

U kunt een record verwijderen door de remove() . aan te roepen methode op een verzameling, waarbij een object wordt doorgegeven om het te helpen identificeren:

Geef een leeg object door om alle items uit een verzameling te verwijderen:

db.dogs.remove({})

  1. Basis HORLOGE doen met StackExchange.Redis

  2. MongoDB $ne Aggregation Pipeline Operator

  3. Clusterfailover

  4. Mangoest &uniek veld