sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Een verzameling maken

U kunt een verzameling maken met de createCollection() methode, of tijdens het invoegen van een document.

Collecties zijn als containers voor gerelateerde documenten. Ze worden meestal gebruikt om documenten over een soortgelijk onderwerp te groeperen. U kunt bijvoorbeeld verzamelingsnamen hebben zoals gebruikers , pageviews , posts , comments , enz.

Toen we onze database maakten, hebben we een verzameling gemaakt met de naam artiesten . Deze verzameling bevat documenten met details van de artiest, zoals de namen van de artiesten, albums die ze hebben uitgebracht, enz.

Twee manieren om een ​​collectie te maken

Hier zijn twee manieren om collecties te maken:

  • U kunt direct een verzameling maken wanneer u een document invoegt (met behulp van de insert() methode.
  • U kunt ook expliciet een verzameling maken met behulp van de createCollection() methode.

On the Fly

Wanneer u de insert() . gebruikt methode om een ​​document in te voegen, specificeert u de verzameling waarin het document wordt ingevoegd. Als de collectie nog niet bestaat, wordt deze aangemaakt.

Dit is de methode die we eerder gebruikten bij het maken van onze artists verzamelen tijdens het invoegen van een document.

Dit is de code die we hebben gebruikt:

db.artists.insert({ artistname: "The Tea Party" })

In dit geval zijn de artists collectie bestond voorheen niet, dus is deze voor ons gemaakt.

De createCollection() gebruiken Methode

U kunt ook collecties maken met de createCollection() methode. Hiermee kunt u een verzameling maken zonder een document in te voegen.

Hier is een voorbeeld van het gebruik van de createCollection() methode:

db.createCollection("producers")

Met opties

U kunt ook opties voor de verzameling specificeren met behulp van de db.createCollection(name, options) syntaxis.

Hier is een voorbeeld:

db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )

De velden die beschikbaar zijn vanaf MongoDB versie 3.2 zijn als volgt.

Veld Type Beschrijving
capped booleaans Indien ingesteld op true , maakt een afgetopte verzameling. Een gecapte verzameling is een verzameling met een vaste grootte die automatisch de oudste vermeldingen overschrijft wanneer deze de maximale grootte heeft bereikt. Als u true opgeeft , moet u ook een maximumgrootte instellen in de size veld.
autoIndexId booleaans Specificeer false om het automatisch aanmaken van een index op de _id . uit te schakelen veld. Vanaf MongoDB versie 3.2 is dit veld verouderd en wordt het verwijderd in versie 3.4.
size nummer Maximale grootte in bytes voor een gelimiteerde verzameling. Alleen gebruikt met gecapte collecties (het wordt genegeerd in andere collecties).
max nummer Maximum aantal documenten toegestaan ​​in de gelimiteerde collectie. Merk op dat de size veld heeft voorrang op max veld. Als de collectie de maximale grootte bereikt voordat de documentlimiet is bereikt, zal MongoDB de documenten toch verwijderen.
usePowerOf2Sizes booleaans Alleen beschikbaar in de MMAPv1-opslagengine. Dit veld is verouderd sinds versie 3.0.
noPadding booleaans Alleen beschikbaar in de MMAPv1-opslagengine. Schakelt de kracht van de toewijzing van 2 maten voor de verzameling uit. Standaard ingesteld op false .
storageEngine document Alleen beschikbaar in de WiredTiger-opslagengine. Staat configuratie van de storage-engine per collectie toe bij het maken van een collectie. Syntaxis is als volgt:{ <storage-engine-name>: <options> }
validator document Hiermee kunt u validatieregels of uitdrukkingen voor de verzameling specificeren. Houd er rekening mee dat validatie alleen wordt toegepast bij het invoegen en bijwerken van gegevens. Daarom worden gegevens die al in de database bestaan ​​niet gevalideerd (totdat ze zijn bijgewerkt).
validationLevel tekenreeks Hiermee kunt u specificeren hoe strikt eventuele validatieregels worden toegepast op bestaande documenten tijdens een update. Mogelijke waarden:
off Er vindt geen validatie plaats voor invoegingen of updates.
strict Validatie vindt plaats voor invoegingen en updates. dit is de standaardwaarde.
moderate Validatieregels worden alleen toegepast op bestaande geldige documenten, maar niet voor bestaande ongeldige documenten.
validationAction tekenreeks Geeft aan of er een fout moet optreden, of alleen een waarschuwing, wanneer ongeldige documenten worden ingevoegd. Als er een fout is, worden de ongeldige documenten nog steeds ingevoegd, maar met een waarschuwing.
error Geeft aan dat er een fout optreedt wanneer een ongeldig document wordt geschreven en de bewerking mislukt.
warning Geeft aan dat er nog steeds ongeldige documenten kunnen worden geschreven en dat de waarschuwing wordt vastgelegd.
indexOptionDefaults document Hiermee kunt u een standaardconfiguratie voor indexen opgeven bij het maken van een verzameling. Accepteert een storageEngine document met de volgende syntaxis:{ : }

  1. MongoDB of CouchDB - geschikt voor productie?

  2. MongoDB $log10

  3. Kan geen Jedis-verbinding krijgen bij gebruik van SSL met Redis en Spring Data Redis

  4. Spring Boot gebruiken met MongoDB