sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man skapar, visar och släpper samlingar i MongoDB

MongoDB är en NoSQL-databas med öppen källkod vilket innebär att den, till skillnad från relationsdatabaser, inte accepterar indatavärden i tabellformat. Data lagras i samlingar och dokument eftersom MongoDB är en dokumentorienterad databas. Rader i en SQL-tabell har ersatts med dokument i MongoDB.

Den här artikeln förutsätter att du redan har installerat MongoDB-servern på din dator och anslutit ett skal till servern. Om du redan har gjort det kan vi utforska några funktioner i MongoDB men först några terminologier:Om inte kan du kolla in artikeln om hur man installerar MongoDB på Ubuntu.

  • Databas – detta är en fysisk behållare som innehåller en uppsättning samlingar. Den kan innehålla noll eller fler samlingar. Det finns ingen gräns för hur många databaser som kan finnas i en enda serverinstans, eftersom den kan vara värd för flera databaser. Dess enda begränsning är det virtuella minnesadressutrymmet som det underliggande operativsystemet kan tilldela.
  • Samling – en uppsättning MongoDB-dokument som liknar "tabeller" i relationsdatabassystem. En samling innehåller handlingar med liknande eller relaterade ändamål. Samlingar är schemalösa, vilket innebär att dokument inom samma samling kan ha olika fält.
  • Dokument – detta är den grundläggande enheten för att lagra data i MongoDB. De är analoga med ROW i traditionella relationsdatabassystem. Dokument är beställda uppsättningar av nyckel-värdepar, vilket innebär att det finns ett associerat värde för varje nyckel. De kallas ofta för "objekt". De är representerade i ett JSON-liknande (nyckel-värde-par) format. Data lagras och frågas i en binär representation av JSON-liknande data som kallas BSON. Ett exempel på detta format visas nedan:
{
Student_enroll: “foss123”,
grade: ‘B’
}
  • Fält – detta är motsvarigheten till kolumner i relationsdatabaser. Den lagras tillsammans med dess värde i nyckel-värdepar. Dokument i en samling kan ha noll eller fler fält.
  • _id – detta är ett obligatoriskt fält i varje MongoDB-dokument. Om en användare skapar ett dokument utan ett _id-fält, skapar MongoDB automatiskt fältet. _ID används för att representera unika dokument i en samling. De fungerar som dokumentens primära nycklar.

Skapa en MongoDB-databas

Databasskapande i MongoDB sker implicit när du försöker använda en databas. För att skapa en databas, skriv följande i mongoskalet;

> use fossDB

Utdata:

Obs! För att öppna Mongo-skalet, kör kommandot nedan:

mongo

MongoDB kommer först att kontrollera om en databas med namnet fossDB finns. Om inte kommer det att skapa en ny som ska användas. Mongo-skalet växlar sedan till fossDB. Det betyder att varje samling och dokument som skapas, uppdateras eller läses kommer från denna databas om inte annat anges.

För att skriva ut vilken databas du befinner dig i just nu använder du kommandot > db . För att lista alla tillgängliga och skapade databaser använder du kommandot >show . Ett exempel på dessa kommandon som används visas nedan;

>db
fossDB
>show dbs
admin  0.000GB
config  0.000GB
local    0.000GB
mydb   0.000GB

Utdata:

Obs! Stör inte i administratörs- och konfigurationsdatabaserna eftersom Mongo använder dem för administrativa ändamål.

Skapa en MongoDB-samling

För att skapa en samling, se först till att du befinner dig i rätt databas som du tänker skapa samlingen i. Det finns två sätt att skapa en samling:

1. Skapa en samling uttryckligen

Använd kommandot nedan:

>db.createCollection("Collection1");
{"ok":1}

Utdata:

Detta kommando kommer sedan att skapa en samling som heter Collection1

2. Infoga ett dokument i en ny samling

Du kan snabbt prova att infoga ett dokument i en icke-existerande samling. Detta kommer att uppmana Mongo att skapa en ny samling åt dig. Observera att även om detta är praktiskt när det gäller att skapa samlingar genom program, om du använder Mongo shell och gör ett stavfel någonstans när du infogar ett dokument, kan dokumentet hamna i en ny databas som du inte känner till.

Syntaxen för att skapa en ny samling är;

db.collection_name.insert(document); 

För att skapa en samling Collection2 i fossDB-databasen, använd följande kommando:

> db.Collection2.insert({name: "Alex",key: "value",age: 20});

Utdata:

I det här exemplet representeras dokumentdelen av följande JSON-sträng:

{
name: "Alex",
key: "value"
age: 20
}

Dessa är nyckel-värdeparen som är typiska för en JSON-sträng. "Namn" är nyckeln och "Alex" är värdet. En användare kan ha flera dokument i den här samlingen med nyckelnamnet och ett annat värde, säg Max.

Använd kommandot nedan för att lista alla samlingar i en databas:

> show collections
Collection1
Collection2

Utdata:

Från utgången kommer du att märka att båda samlingarna har skapats. Du är säker på att du kan lägga till ett nytt dokument i en samling.

Visar samlingar

Om du inte har märkt det har vi använt nyckelordet visa ganska mycket medan vi diskuterat de andra kommandona. För att sammanfatta detta är kommandot för att visa samlingar och databaser:

>show collections
>show dbs

Utdata:

I kombination med kommandot db, dessa kommandon används för att skriva ut den aktuella databasen och är ganska praktiska när de interagerar med Mongo-skalet.

Ta bort MongoDB-samlingar och databas

Drop-kommandot är ett nyckelord som vi inte har berört i den här artikeln. Det är ett kommando som används för att ta bort samlingar eller hela databaser från en användares Mongo-server. För att släppa, kommer följande syntax att ta dig genom processen.

1. Tappa samlingar

Vi kommer att ta bort samlingen "Collection2" som vi skapade tidigare. Detta görs genom att använda kommandot nedan:

>db.Collection2.drop()

Utdata:

För att verifiera att samlingen har tagits bort kan du använda kommandot show collections för att lista de återstående samlingarna. Du kommer att märka att det kommer att saknas en samling på listan.

2. Släpp databaser

Innan du kör kommandot för att släppa databasen bör du kontrollera att du är i rätt databas, annars kan du bli av med fel databas och sluta med att förlora värdefull data som du inte hade för avsikt att radera. I det här exemplet kommer vi att släppa databasen fossDB som vi hade skapat tidigare. Låt oss se till att vi är i rätt databas med kommandot nedan:

>db
fossDB

Utdata:

låt oss sedan släppa databasen med kommandot nedan:

>db.dropDatabase();

Utdata:

Nedan kommer vi att presentera olika SQL-termer och deras motsvarande MongoDB-termer;

SQL-termer MongoDB-villkor
Databas Databas
Tabell Samling
Index Index
Rad Dokument / BSON-dokument
Kolumn Fält
Tabellkopplingar Inbäddade dokument och länkar
Primärnyckel – i SQL anger detta vilken unik kolumn- eller kolumnkombination som helst Primärnyckel – denna nyckel ställs automatiskt in på _id-fältet i MongoDB

Slutsats

MongoDB har uppnått enorm popularitet i utvecklarnas värld på grund av JSON-liknande representation, skalbarhet, enkelhet och dynamiska sätt att skapa dokument. Den här artikeln har diskuterat de tre kommandon som används i MongoDB-skalet. Vi hoppas att den här artikeln har hjälpt dig att förstå dessa kommandon bättre. Om du letar efter en databas som ska användas i ett projekt för datatunga lyft är MongoDB ett bra alternativ som du kanske vill överväga.


  1. MongoDB dropIndex kommando

  2. Flera Redis-instanser

  3. Synkronisera MongoDB via ssh

  4. Åtgärda sidfel i MongoDB