MongoDB har ingen CREATE DATABASE
uttalande som SQL gör.
I MongoDB skapar du en databas helt enkelt genom att byta till en obefintlig databas och sedan infoga data.
Exempel
Här är ett exempel på hur du skapar en ny databas:
use PetHotel
Resultat:
switched to db PetHotel
Det skapar en ny databas som heter PetHotel
och gör den till den aktuella databasen.
Databasen är dock bara delvis skapad. Det är inte helt skapat förrän du infogar data.
Om vi kör show dbs
kommandot för att se vilka databaser vi har, kommer det inte att visas.
show dbs
Resultat:
admin 0.000GB config 0.000GB local 0.000GB
Detta är standarduppsättningen av databaser som installerades med MongoDB. Om du har andra databaser ser du dem här också.
Men poängen är att vårt nyskapade PetHotel
databasen finns ingenstans att se!
Infoga data
För att helt skapa databasen måste vi infoga en del data. Även en liten mängd är tillräckligt.
Exempel:
db.pets.insert({ name: "Fetch" })
Resultat:
WriteResult({ "nInserted" : 1 })
Det här meddelandet talar om för oss att ett dokument har infogats.
Nu när vi kör show dbs
igen kan vi se vår nyskapade databas.
show dbs
Resultat:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
Samlingar
En databas innehåller samlingar. I vårt fall har vi redan skapat en samling som heter husdjur
.
När du infogar data använder du syntaxen så här:
db.<collection>.insert()
Där
I vårt fall använde vi följande kommando:
db.pets.insert({ name: "Fetch" })
Som skapade en samling som heter husdjur
(eftersom det inte redan fanns).
Kontrollera data
Du kan använda find()
insamlingsmetod för att kontrollera data i insamlingen.
Exempel:
db.pets.find()
Resultat:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
Som förväntat returneras vårt dokument.
Du kommer att märka att den också har ett extra fält. Den har ett _id
fältet, som vi inte angav när vi lade till dokumentet.
_id
fält är ett specialfält. Den används som en identifierare för dokumentet. Om dokumentet inte anger ett _id
fältet kommer MongoDB att lägga till _id
och tilldela ett unikt ObjectId
för dokumentet innan det infogas.
Alternativt kan du ange ditt eget _id
fältet och tilldela det ditt eget värde. Observera dock att _id
värdet måste vara unikt i samlingen för att undvika dubblettnyckelfel.