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
mongodoch 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.tgzI stället för
xyzskulle det finnas viss version och systemtypinformation. Den extraherade mappen skulle ha samma namn somtgzfilen. I mappen skulle deras vara en undermapp med namnetbinsom skulle innehålla flera binära filer tillsammans medmongodochmongo.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 # exitFör att starta servern ska följande kommando ges från den aktuella platsen:
$ ./mongodServern 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.
$ ./mongoSom 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.binkatalog innehåller flera binära filer tillsammans medmongodochmongo. 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
datamed en undermapp med namnetdbdä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:
> mongodServern startar som standard på port 27017.
Öppna en ny kommandotolk och skriv följande för att starta klienten:
> mongoSom 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.listpå 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.listUppdatera paketlistan.
$ sudo apt-get updateInstallera 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.ascUppdatera paketlistan.
$ sudo yum updateInstallera 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 standarddatabasentestoch 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()