MongoDB Handledning
Komma igång med MongoDB
Sök…
Anmärkningar
- Data i världen började växa enormt efter att mobilapplikationen kom på marknaden. Denna enorma mängd data blev nästan omöjlig att hantera med traditionell relationsdatabas - SQL. NoSQL-databaser introduceras för att hantera dessa data där mycket mer flexibilitet kom som variabelt antal kolumner för varje data.
- MongoDB är en av de ledande NoSQL-databaserna. Varje samling innehåller ett antal JSON-dokument. Alla datamodeller som kan uttryckas i ett JSON-dokument kan enkelt lagras i MongoDB.
- MongoDB är en server-klientdatabas. Servern körs vanligtvis med den binära filen
mongod
och klienten körs medmongo
. - Det finns ingen samarbetsoperation i MongoDB före v.3.2 av olika filosofiska och pragmatiska skäl . Men Mongo-skal stöder javascript, så om $ -uppslag inte är tillgängligt kan man simulera anslutningsoperationer på dokument i javascript innan du sätter in.
- För att driva en instans i produktionsmiljö rekommenderas det starkt att följa Operations Checklist .
versioner
Version | Utgivningsdatum |
---|---|
3,4 | 2016/11/29 |
3,2 | 2015/12/08 |
3,0 | 2015/03/03 |
2,6 | 2014/04/08 |
2,4 | 2013/03/19 |
2,2 | 2012-08-29 |
2,0 | 2011-09-12 |
1,8 | 2011-03-16 |
1,6 | 2010-08-31 |
1,4 | 2010-03-25 |
1,2 | 2009-12-10 |
Installation
Följ stegen nedan för att installera MongoDB:
För Mac OS:
- Det finns två alternativ för Mac OS: manuell installation eller homebrew .
- Installera med homebrew :
- Skriv in följande kommando i terminalen:
$ brew install mongodb
- Skriv in följande kommando i terminalen:
- Installera manuellt:
Ladda ner den senaste versionen här . Se till att du laddar ner rätt fil, kontrollera speciellt om ditt operativsystem är 32-bitars eller 64-bitars. Den nedladdade filen är i formatet
tgz
.Gå till katalogen där den här filen laddas ner. Skriv sedan följande kommando:
$ tar xvf mongodb-osx-xyz.tgz
I stället för
xyz
skulle det finnas viss version och systemtypinformation. Den extraherade mappen skulle ha samma namn somtgz
filen. I mappen skulle deras vara en undermapp med namnetbin
som skulle innehålla flera binära filer tillsammans medmongod
ochmongo
.Som standard behåller servern data i mapp
/data/db
. Så vi måste skapa den katalogen och sedan köra servern med följande kommandon:$ sudo bash # mkdir -p /data/db # chmod 777 /data # chmod 777 /data/db # exit
För att starta servern ska följande kommando ges från den aktuella platsen:
$ ./mongod
Servern startar som standard på port 27017.
För att starta klienten bör en ny terminal öppnas med samma katalog som tidigare. Sedan startar följande kommando klienten och ansluter till servern.
$ ./mongo
Som standard ansluts den till
test
. Om du ser raden som attconnecting to: test
. Sedan har du installerat MongoDB. grattis! Nu kan du testa Hello World för att vara mer säker.
För Windows:
Ladda ner den senaste versionen här . Se till att du laddar ner rätt fil, kontrollera speciellt om ditt operativsystem är 32-bitars eller 64-bitars.
Den nedladdade binära filen har förlängnings
exe
. Kör det. Det uppmanas till en installationsguide.Klicka på Nästa .
Acceptera licensavtalet och klicka på Nästa .
Välj komplett installation.
Klicka på Installera . Det kan leda till ett fönster som frågar administratörens tillstånd. Klicka på Ja .
Klicka på Finish efter installationen.
Nu är mongodb installerad på sökvägen
C:/Program Files/MongoDB/Server/3.2/bin
. I stället för version 3.2 kan det finnas någon annan version för ditt fall. Sökvägsnamnet skulle ändras i enlighet därmed.bin
katalog innehåller flera binära filer tillsammans medmongod
ochmongo
. För att köra den från en annan mapp kan du lägga till sökvägen i systemvägen. Att göra det:- Högerklicka på Min dator och välj Egenskaper .
- Klicka på Avancerad systeminställning till vänster.
- Klicka på miljövariabler ... under fliken Avancerat .
- Välj anslutningen från Systemvariabler avsnittet och klicka på Redigera ....
- Lägg till en halvtolon innan Windows 10 och klistra in banan som anges ovan. Från Windows 10 finns det en ny knapp för att lägga till en ny sökväg.
- Klicka på OK för att spara ändringar.
Skapa nu en mapp med namnet
data
med en undermapp med namnetdb
där du vill köra servern.Starta kommandotolken från deras. Antingen ändrar du sökvägen i cmd eller klickar på Öppna kommandofönstret här som skulle vara synligt efter att högerklicka på det tomma utrymmet i mappens GUI genom att trycka på Shift och Ctrl-tangenten tillsammans.
Skriv kommandot för att starta servern:
> mongod
Servern startar som standard på port 27017.
Öppna en ny kommandotolk och skriv följande för att starta klienten:
> mongo
Som standard ansluts den till
test
. Om du ser raden som attconnecting to: test
. Sedan har du installerat MongoDB. grattis! Nu kan du testa Hello World för att vara mer säker.
För Linux: Nästan samma som Mac OS, med undantag av något motsvarande kommando.
- För Debian-baserade distrikt (med
apt-get
):Importera MongoDB-arkivnyckeln.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 gpg: Total number processed: 1\ gpg: imported: 1 (RSA: 1)
Lägg till arkiv i paketlistan på Ubuntu 16.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
på Ubuntu 14.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Uppdatera paketlistan.
$ sudo apt-get update
Installera MongoDB.
$ sudo apt-get install mongodb-org
- För red Hat-baserade distrikt (med
yum
):använd en textredigerare som du föredrar.
$ vi /etc/yum.repos.d/mongodb-org-3.4.repo
Klistra in följande text.
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Uppdatera paketlistan.
$ sudo yum update
Installera MongoDB
$ sudo yum install mongodb-org
- För Debian-baserade distrikt (med
Hej världen
Efter installationsprocessen ska följande rader anges i mongo shell (klientterminal).
> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);
Hej världen!
Förklaring:
- På första raden, har vi satt in en
{ key : value }
parat dokument i standarddatabasentest
och i samlingen som heterworld
. - I den andra raden hämtar vi de data vi just har lagt in. Den hämtade informationen förvaras i en javascriptvariabel med namnet
cur
. Därefter hämtade vi det första och enda dokumentet mednext()
-funktion och behöll det i en annan js-variabel med namnetx
. Tryckte sedan ut värdet på dokumentet som gav nyckeln.
Kompletterande villkor
SQL-villkor | MongoDB Villkor |
---|---|
Databas | Databas |
Tabell | Samling |
Enhet / rad | Dokumentera |
Kolumn | Nyckel / fält |
Tabellkoppling | Inbyggda dokument |
Primärnyckel | Primär nyckel (standardnyckel _id tillhandahålls av mongodb själv) |
Utförande av en JavaScript-fil i MongoDB
./mongo localhost:27017/mydb myjsfile.js
Förklaring: Den här åtgärden kör myjsfile.js
skriptet i ett mongo
skal som ansluts till mydb
databasen på mongod
instansen som är tillgänglig via localhost
gränssnittet på port 27017
. localhost:27017
är inte obligatoriskt eftersom detta är standardporten som mongodb
använder.
Du kan också köra en .js
fil från mongo
.
>load("myjsfile.js")
Gör utgången från hitta läsbar i skalet
Vi lägger till tre poster till vårt samlingstest som:
> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })
Om vi ser dem via find kommer de att se väldigt fula ut.
> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }
Om du vill lösa detta och göra dem läsbara använder du den vackra () -funktionen.
> db.test.find().pretty()
{
"_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
"key" : "value1",
"key2" : "Val2",
"key3" : "val3"
}
{
"_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
"key" : "value2",
"key2" : "Val21",
"key3" : "val31"
}
{
"_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
"key" : "value3",
"key2" : "Val22",
"key3" : "val33"
}
>
Grundläggande kommandon på mongoskal
Visa alla tillgängliga databaser:
show dbs;
Välj en viss databas för att komma åt, t.ex. mydb
. Detta skapar mydb
om det inte redan finns:
use mydb;
Visa alla samlingar i databasen (se till att du väljer en först, se ovan):
show collections;
Visa alla funktioner som kan användas med databasen:
db.mydb.help();
För att kontrollera din nuvarande valda databas använder du kommandot db
> db
mydb
db.dropDatabase()
används för att släppa en befintlig databas.
db.dropDatabase()