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 med mongo .
  • 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
        
    • 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 som tgz filen. I mappen skulle deras vara en undermapp med namnet bin som skulle innehålla flera binära filer tillsammans med mongod och mongo .

      • 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 att connecting 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 med mongod och mongo . 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 namnet db 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 att connecting 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
        
      • 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
        

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 standarddatabasen test och i samlingen som heter world .
  • 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 med next() -funktion och behöll det i en annan js-variabel med namnet x . 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()


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow