Començar amb MongoDB per al principiant

Obteniu informació sobre què són MongoDB, guia d’instal·lació i funcionament bàsic.


MongoDB NoSQL està en tendència més que mai. Ho enteneu necessàriament?

No us preocupeu si no, el següent us ajudarà.

Introducció

A mesura que el lloc web prenia un canvi de paradigma cap a contingut dinàmic, la demanda de bases de dades No-SQL va augmentar. Això va donar lloc a nombroses bases de dades No-SQL com MongoDB.

Classificat com a base de dades sense SQL, MongoDB és una base de dades basada en documents que emmagatzema les dades en forma de documents JSON amb un identificat autogenerat per a cada document..

Una base de dades sense SQL és una base de dades en què l’estructura de la taula no és fixa, a diferència de les bases de dades SQL estructurades. MongoDB emmagatzema les dades en forma de cadena JSON independentment del recompte d’atributs o nom d’atributs en una columna específica.

D’aquesta manera, els desenvolupadors poden fer canvis ràpids a les entitats sense necessitat de cap canvi en el nivell de la base de dades.

Instal·lació de MongoDB

MongoDB, igual que qualsevol altra base de dades, està disponible en diverses variants segons les necessitats de desenvolupament. A continuació es descriuen les variants i es poden utilitzar o descarregar enllaç

  • MongoDB Atlas – Base de dades com a servei
  • Servidor comunitari: gratuït per utilitzar per a la comunitat de desenvolupadors
  • MongoDB Enterprise Edition: la versió comercial amb funcions addicionals

Cadascun d’aquests és totalment compatible amb tots els sistemes operatius. Per començar, la instal·lació del servidor de la comunitat, descarregueu el fitxer d’instal·lació pertinent segons el vostre sistema operatiu.

El procés d’instal·lació difereix lleugerament per a cada sistema operatiu i, per tant, passaríem per separat per cada instal·lació del sistema operatiu.

Instal·lació a MacOS

Per instal·lar MongoDB a MacOS. Baixeu l’arxiu .tgz que conté els binaris necessaris. En desactivar l’arxiu del fitxer, haureu de poder veure un conjunt de binaris ubicats al fitxer paperera carpeta.

  • Desplaceu la carpeta de la paperera a la ubicació desitjada
  • Obriu un terminal i canvieu-lo al directori esmentat anteriorment
  • Executeu l’ordre següent per crear una base de dades a la ubicació desitjada.

$ ./mongod –dbpath / path-to-wish-directory /

A l’ordre anterior, substituïu la ruta al directori per la vostra ruta desitjada i el servidor s’iniciarà tan bon punt s’executi l’ordre.

Instal·lació a Windows

El centre de descàrregues MongoDB proporciona una executable .msi paquet per a la instal·lació de MongoDB a Windows. La instal·lació a Windows és bastant senzilla i es pot fer mitjançant algunes comandes un cop descarregada la configuració.

  • Executeu les ordres següents per instal·lar MongoDB al PC / servidor de Windows.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
INSTAL·LACIÓ ="C: \ Arxius de programa \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, DiversosTools"

Les ordres anteriors us portaran al directori corresponent i executaran la configuració per a la instal·lació a la ubicació especificada. Un cop instal·lat, heu de configurar la ruta d’emmagatzematge de bases de dades predeterminada per MongoDB. La següent comanda us ajuda a configurar el mateix

> md \ db \ data

L’ordre anterior crea una carpeta db / data al directori on apunta l’indicador d’ordres actualment. En cas que torni a configurar de nou la base de dades, podríeu utilitzar mongod.exe amb la secció dbpath argument com es mostra a continuació:

>"C: \ Arxius de programa \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Instal·lació a Linux

De manera similar a les descàrregues de MacOS, MongoDB per a variants Linux també està disponible en forma de fitxers binaris arxivats. El procés per instal·lar MongoDB és bastant similar.

  • Desplaceu els binaris a la ubicació desitjada
  • Obriu el terminal a la carpeta
  • Executeu la comanda següent amb la ubicació DB desitjada

$ ./mongod –dbpath / path-to-wish-directory /

Creació de la primera col·lecció

MongoDB emmagatzema les dades en forma de documents JSON. Un grup d’aquesta documentació és conegut col·lectivament com a col·lecció a MongoDB. Així, una col·lecció és anàloga a una taula d’una base de dades relacional, mentre que un document és analògic a un registre.

Per guardar documents, primer hem de crear una col·lecció. El més interessant d’una base de dades NoSQL és que a diferència de la base de dades SQL, no cal que especifiqueu els noms de columna ni els tipus de dades.

El primer pas per crear una col·lecció és crear una base de dades. Per crear una base de dades i connectar-la mitjançant la línia d’ordres, executeu l’ordre següent del directori d’instal·lació de MongoDB.

Tutorial de $ ./bin/mongo

Aquesta ordre s’utilitza per iniciar la connexió de base de dades i connectar-se simultàniament a la base de dades tutorial. Es mostrarà un munt de línies al registre per indicar que la línia d’ordres s’ha connectat a la base de dades MongoDB.

A continuació, es mostra una imatge de la línia de comandaments per oferir-vos una idea millor sobre la mateixa.

  • Per crear una col·lecció, executeu la comanda següent:

$ > db.createCollection (‘primeraColecció’);

Així es crea una col·lecció buida. El següent pas és inserir dades i fer una mica de processament als registres mitjançant la línia de comandes MongoDB.

Inserció d’un document a la col·lecció

Com s’ha comentat anteriorment, és possible inserir gairebé qualsevol JSON a cada col·lecció de MongoDB.

Comencem per la inserció del primer document JSON al directori primeraColecció col·lecció creada anteriorment.

> db.firstCollection.insertOne ({nom: ‘Abhishek’, habilitat: ‘MongoDB’});

L’ordre anterior insereix un sol document JSON en la primeraCollection. El mateix es podria verificar mitjançant la comanda que es mostra a continuació:

> db.firstCollection.find ();

La comanda anterior té diversos usos en funció de la variació de la funció find (). Si no s’especifica cap argument, com és el cas de l’ordre anterior, es recupera tots els documents disponibles de la col·lecció.

Podeu inserir un registre més i provar el mateix. En fer-ho, la sortida de la comanda anterior seria similar a la que es mostra a continuació:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "nom" : "Abhishek", "habilitat" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "nom" : "GeekFlare", "habilitat" : "Java, MongoDB, NodeJS" }

Com es pot veure, hi ha dos registres disponibles que es mostren. La funció find () es pot utilitzar fàcilment per filtrar els documents en funció de paràmetres específics. Filtrem el document mitjançant l’atribut name.

El procés de filtre és senzill i es pot entendre des de la comanda següent:

db.firstCollection.find ({nom: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "nom" : "Abhishek", "habilitat" : "MongoDB" }

El filtre també es pot utilitzar amb diversos atributs a la JSON. Tot i que és possible afegir qualsevol nombre de paràmetres a la consulta, la limitació d’aquest enfocament és que només coincideix amb el valor exacte dels atributs.

Filtrat dels registres mitjançant Regex

Per executar un MongoDB equivalent d’una clàusula com MySQL, s’utilitza MongoDB regex. Regex és una sèrie de caràcters que formen un patró a l’altura. Els literals de regex són similars a els les que s’utilitzen en Javascript.

Per a la col·lecció actual, intentarem obtenir les dades fent coincidir un patró per a l’atribut d’habilitat. La següent comanda obté la llista de persones amb MongoDB. Així, obtindrà dos registres, ja que tots dos contenen la cadena MongoDB.

> db.firstCollection.find ({skill: /.* MongoDB. * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "nom" : "Abhishek", "habilitat" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "nom" : "GeekFlare", "habilitat" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({skill: /.* Java. * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "nom" : "GeekFlare", "habilitat" : "Java, MongoDB, NodeJS" }

El codi anterior mostra el resultat de dues cadenes diferents en la forma regex. La primera consulta recupera la llista d’un document on l’atribut skill conté la paraula clau MongoDB, mentre que l’altre cerca persones expertes en Java.

El següent desafiament de preguntes basades en criteris és preguntar amb una condició OR o AND.

Consultes complexes a MongoDB

Com es desprèn de les ordres anteriors, MongoDB on les clàusules funcionen a JSON. El procés de combinació de condicions també depèn de la pròpia JSON. MongoDB proporciona a operadors com $ o, $ i així com $ per a no fer les operacions de consulta pertinents.

Intentem obtenir la llista de documents on l’atribut de nom conté Abhishek o habilitat conté Java.

> db.firstCollection.find ({$ o: [{nom: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "nom" : "Abhishek", "habilitat" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "nom" : "Geekflare", "habilitat" : "Java, MongoDB, NodeJS" }

Com es pot veure, obté els dos registres. Podeu provar d’utilitzar l’atribut name com Geekflare i veure el canvi. Només es mostrarà el document amb tres habilitats i nom Geekflare.

De la mateixa manera, és possible utilitzar $ i operador amb un conjunt de condicions JSON com es mostra més amunt.

Per al següent conjunt d’operadors, hauríem de crear una col·lecció més i afegir-hi alguns registres a través de les comandes següents.

> db.createCollection (“Studentmarks”);
{ "D’acord" : 1}
> db.studentmarks.insertMany ([{name: ‘A’, marques: 20}, {name: ‘B’, marques: 25}, {name: ‘C’, marques: 22}, {name: ‘D’, marques: 30}]);
{
"reconegut" : cert,
"InsertIds" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

El següent conjunt d’operadors que utilitzaríem són els operadors de comparació de la consulta. Per comparar valors mitjançant criteris com menys que o més gran que o no és igual a, utilitzem els operadors rellevants en el valor que passem.

A continuació es mostra un exemple d’obtenir una llista d’estudiants amb notes superiors a 22.

db.studentmarks.find ({marques: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "nom" : "B", "marques" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "nom" : "D", "marques" : 30}

El $ gt aquí indica més gran que segons els criteris. Així, es mostren els documents amb més de 22 marques. De la mateixa manera, hi ha altres operadors que es poden fer servir. A continuació es mostren.

Operador
Utilitzeu
Exemple
$ eqComproveu si el valor és igual{marques: {$ eq: 20}}
$ ltComproveu si el valor és inferior a{marques: {$ lt: 20}}
$ gteComproveu si el valor és superior o igual a{marques: {$ gte: 22}}
$ lteComproveu si el valor és menys agraït o igual{marques: {$ lte: 22}}
$ neComproveu si el valor no és igual a{marques: {$ ne: 22}}
$ endinsComproveu si el valor és igual a qualsevol dels valors de la matriu{marques: {$ in: [20,22]}}
nou dòlarsComproveu si el valor no és igual a cap valor de la matriu{marques: {$ nin: [22,25]}}

GUI per a MongoDB

A la discussió anterior, hem utilitzat una línia d’ordres per executar les nostres consultes a MongoDB.

L’ús de la línia d’ordres pot ser un repte quan es tracti de consultes complexes i un conjunt més gran de dades. Per facilitar la visualització de dades i executar les consultes, MongoDB us ofereix una excel·lent eina de GUI anomenada MongoDB Compass.

La brúixola MongoDB es pot descarregar fàcilment des del fitxer Lloc de descàrregues de MongoDB. Un cop hàgiu descarregat i instal·lat MongoDB Compass, inicieu l’aplicació i podreu rebre una pantalla similar a la que es mostra a continuació per una pantalla similar..

MongoDBCompass

Tenint en compte que teniu el servidor MongoDB en funcionament, feu clic a Connectar amb els detalls predeterminats. Haureu d’iniciar la sessió i mostrar la llista de bases de dades disponibles.

Feu clic a la base de dades del tutorial per veure la llista de col·leccions del db tutorial. Com es mostra a continuació, mostra la llista de col·leccions disponibles al db tutorial.

Al fer clic a la col·lecció, mostra la llista de documents amb els controls necessaris per filtrar els registres mitjançant un JSON, així com la possibilitat de visualitzar els documents en format JSON o en format tabular segons la nostra comoditat..

La GUI també facilita l’addició d’un document. Tot el que heu de fer és fer clic al botó Inserir document a la pantalla que es mostra a continuació. Obre un diàleg petit que demana els detalls del document amb un identificador de document generat automàticament.

MongoDBDocuments

La interfície gràfica simplifica moltes operacions que poden ser difícils de realitzar mitjançant la interfície de línia d’ordres MongoDB.

Conclusió

Vam capturar l’essència de NoSQL amb una gran varietat d’exemples i vam entendre la instal·lació, com es diferencien els documents en comparació amb un registre de base de dades relacional típic. També podeu referir-ho Aprenent MongoDB des de zero curs en línia.

I, si sou desenvolupadors, potser us interessarà aquest.

Tags:

  • Base de dades

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map