Uo, toe amatalia le isi kosi
Sa faia le webinar
MongoDB Features
MongoDB o se DBMS faʻasinomaga faʻamatalaga tatala e le manaʻomia se faʻamatalaga o le faʻasologa o le laulau. O loʻo faʻavasegaina o le NoSQL ma faʻaoga BSON (binary JSON). Fa'asalaina mai le atigipusa, tusia i le C++ ma lagolagoina le JavaScript syntax. E leai se fesoasoani SQL.
MongoDB ei ai avetaʻavale mo le tele o gagana faʻalauiloa lauiloa (C, C ++, C #, Go, Java, JavaScript, Perl, PHP, Python, Ruby, ma isi). O lo'o iai fo'i aveta'avale e le'o aloa'ia ma e lagolagoina e le nu'u mo isi gagana polokalame.
Ia, seʻi o tatou vaʻavaʻai i tulafono faʻavae e mafai ona aoga.
O lea la, faʻapipiʻi MongoDB i Docker, matou te tusia:
docker run -it --rm -p 127.0.0.1:27017:27017
--name mongo-exp-project mongo
docker exec -it mongo-exp-project mongo
E faapena ona tupu fa'alauiloa tagata o tausia MongoDB:
Se'i o tatou tusia le mea masani Talofa Lalolagi:
print (“Hello world!”)
Pe 'a uma lena - tatou amata le taamilosaga:
E pei ona e matauina, i luma o tatou masani JS, ma MongoDB ose fa'aliliuupu JavaScript atoatoa.
O afea e faʻaaoga ai MongoDB?
O loʻo i ai se tala o le averesi amata i Silicon Valley o le tagata na tatalaina le tusi "HTML for Dummies" i le vaiaso talu ai. O le fea faaputuga o le a ia filifilia? Ioe e faigofie tele mo ia pe a, mo mafuaaga manino, o loʻo ia te ia JavaScript i lana suʻesuʻega, Node.js o loʻo tamoʻe i luga o le 'auʻaunaga, ma o loʻo tamoʻe foi le JavaScript i le database. Ole numera numera 1 lea.
Lona lua, e iai
Lona tolu, ou te fia faamamafa atu o MongoDB o loʻo faʻaalia i le lelei scalability - ma o se tasi lea o vaega taua o le database. Afai e te le iloa muamua pe o le a le uta, MongoDB e atoatoa. E le gata i lea, e lagolagoina faʻataʻitaʻiga i fafo atu o le pusa e pei o vaevaega и toe faia, ma o nei mea uma e faia e matua manino lava, o lona uiga, e matua faigofie lava ona galue.
E tusa ai ma upu i MongoDB ona:
- fa'amaumauga o fa'amaumauga (fuafuaga, aoina o laulau);
- i MongoDB o loʻo i ai se mea e pei o le aoina - o se fa'atusa lea o se laulau ma se seti o pepa e tatau ona fa'afeso'ota'i;
- o pepa e tutusa ma se manoa.
Fa'avae fa'amaumauga ma fesili faigofie
Ina ia fatuina se database, e tatau ona e amata faʻaaogaina:
use learn
Se'i o tatou faia se fa'aofi la'ititi o le pepa. Ia avea, mo se faʻataʻitaʻiga, se unicorn e igoa ia Aurora:
db.unicorns.insert({name: 'Aurora', gender: 'f', weight: 450})
db - o se mea faʻavaomalo mo le mauaina o faʻamaumauga, o lona uiga, o le "monga" lava ia. Fa'aaogaina mo le fa'asoa sh, mo le toe faia - rs.
O a ni poloaiga a le mea faitino? db:
O lea, tatou toe foʻi i la tatou poloaiga, o se taunuuga o le faʻamafanafanaga o le a lipotia ai le tasi laina ua faʻaofiina:
Le upu unicorns
i se au db.unicorns.insert({name: 'Aurora', gender: 'f', weight: 450})
e fa'ailoa ai se fa'aputuga. Faamolemole ia matau iinei matou te lei faamatalaina pe fatuina le aoina, ae na o le tusia o 'unicorns', faia se faʻaofi, ma sa i ai sa matou aoina.
Ma o le auala lenei e mafai ai maua uma a matou aoina:
db.getCollectionNames()
Ma faapena atu ai lava. E mafai fa'aofi se isi aoina:
Sei o tatou fesili atu nei aoina atoatoa (Matou te faamanatu atu ia te oe i la matou tulaga o loʻo i ai i le database faʻamatalaga e uiga i le lua unicorns ma le igoa tutusa):
db.unicorns.find()
Faamolemole ia matau, o le matou JSON lenei (o loʻo i ai se igoa, itupa, mamafa, nisi faʻamatalaga mea faitino tulaga ese):
Se'i o tatou fa'aofia nisi unicorns e tutusa igoa:
db.unicorns.insert({name: 'Leto', gender: 'm',
home: 'Arrakeen', worm: false})
db.unicorns.insert({name: 'Leto', gender: 'm',
home: 'Arrakeen', worm: false})
Ma seʻi o tatou vaai i le mea na tupu:
E pei ona mafai ona e vaʻai, e iai a matou faʻalapotopotoga faaopoopo: aiga и anufe, lea e le maua e Aurora.
Se'i o tatou fa'aopoopo nisi unicorns:
db.unicorns.insertMany([{name: 'Horny', dob: new Date(1992,2,13,7,47), loves: ['carrot','papaya'], weight: 600, gender: 'm', vampires: 63},
{name: 'Aurora', dob: new Date(1991, 0, 24, 13, 0), loves: ['carrot', 'grape'], weight: 450, gender: 'f', vampires: 43},
{name: 'Unicrom', dob: new Date(1973, 1, 9, 22, 10), loves: ['energon', 'redbull'], weight: 984, gender: 'm', vampires: 182},
{name: 'Roooooodles', dob: new Date(1979, 7, 18, 18, 44), loves: ['apple'], weight: 575, gender: 'm', vampires: 99}])
O lea, na matou faʻaofiina isi mea e fa e faʻaaoga ai le JavaScript:
I lou manatu, o fea faʻamaumauga e sili atu ona faigofie e teu ai faʻamaumauga o tusifolau: fesoʻotaʻiga faʻamaumauga poʻo Mongo?
E manino le tali - i Monga, ma o le faʻataʻitaʻiga o loʻo i luga o loʻo faʻaalia lelei lenei mea. E le o se mea lilo o KLADR o se tiga i le Russian Federation. Ma o Monga e fetaui lelei ma tuatusi, aua e mafai ona e setiina mea uma o se laina, ma o le a sili atu ona faigofie le olaga. Ma o se mea lelei Tagata fa'aoga mo MongoDB.
Se'i o tatou fa'aopoopo nisi unicorns:
db.unicorns.insert({name: 'Solnara', dob: new Date(1985, 6, 4, 2, 1), loves:['apple', 'carrot', 'chocolate'], weight:550, gender:'f', vampires:80});
db.unicorns.insert({name:'Ayna', dob: new Date(1998, 2, 7, 8, 30), loves: ['strawberry', 'lemon'], weight: 733, gender: 'f', vampires: 40});
db.unicorns.insert({name:'Kenny', dob: new Date(1997, 6, 1, 10, 42), loves: ['grape', 'lemon'], weight: 690, gender: 'm', vampires: 39});
db.unicorns.insert({name: 'Raleigh', dob: new Date(2005, 4, 3, 0, 57), loves: ['apple', 'sugar'], weight: 421, gender: 'm', vampires: 2});
db.unicorns.insert({name: 'Leia', dob: new Date(2001, 9, 8, 14, 53), loves: ['apple', 'watermelon'], weight: 601, gender: 'f', vampires: 33});
db.unicorns.insert({name: 'Pilot', dob: new Date(1997, 2, 1, 5, 3), loves: ['apple', 'watermelon'], weight: 650, gender: 'm', vampires: 54});
db.unicorns.insert({name: 'Nimue', dob: new Date(1999, 11, 20, 16, 15), loves: ['grape', 'carrot'], weight: 540, gender: 'f'});
db.unicorns.insert({name: 'Dunx', dob: new Date(1976, 6, 18, 18, 18), loves: ['grape', 'watermelon'], weight: 704, gender: 'm', vampires: 165});
Faʻalogo nei i pepa. E pei o talipalau Matou te teuina mea uma. E iai foʻi faʻamatalaga e uiga i mea e fiafia i ai le unicorn, ma e le o tagata uma e maua lenei faʻamatalaga. O lo'o taoto i totonu fa'asologa atoa.
I le ala, e faʻaalia atili ai le matagofie o taunuuga, e mafai ona e valaʻau le metotia i le faaiuga o le suʻega poloaiga .pretty()
:
Afai e te manaʻomia e maua fa'amatalaga e uiga i le mea sese lata mai, fa'aaoga le poloaiga lenei:
db.getLastError()
E mafai ona faia lenei mea pe a uma fa'aofi ta'itasi, pe mafai fo'i ona e fa'atulaga le Tusi Fa'aliga. E sili atu le faitau i ai i totonu
Se'i o tatou aga'i atu i fesili lavelave
Su'esu'ega mo le tau tonu o le fanua:
db.unicorns.find({gender: 'm'})
E ala i le tusiaina o sea talosaga, o le a matou mauaina se lisi o tama tane uma i totonu o le faʻamafanafanaga.
E mafai foi ona e faia fesili ile tele o fanua ile taimi e tasi: i le itupa ma le mamafa:
I luga, faʻalogo i le mea faʻapitoa $gt filifili, lea e mafai ai ona e fa'atupuina uma tama'i unicorn e sili atu i le 700 le mamafa.
E mafai ona e siaki e iai lava le fanua?:
db.unicorns.find({vampires: {$exists: false}})
A faʻapea:
db.unicorns.find({'parents.father': {$exists: true}})
O le isi au o le a aumaia i fafo unicorns, o ona igoa e amata i mataitusi A po o le a:
db.unicorns.find({name: {$regex: "^[Aa]"}})
Sei o tatou mafaufau nei su'esu'ega fa'asologa. Fesili #1: O le a le mea o le a faia e lenei poloaiga:
db.unicorns.find({loves:'apple'})
E sa'o: tagata uma e fiafia i apu.
O le fa'atonuga o lo'o mulimuli mai o le a toe fa'afo'i na'o na fa'amatalaga unicorn o lo'o iai na o apu ma meleni:
db.unicorns.find({loves:[ "apple", "watermelon" ]})
Ma le isi poloaiga:
db.unicorns.find({loves:[ "watermelon", "apple" ]})
I la tatou tulaga, o le a le toe faafoi mai se mea, talu ai pe a tatou pasia se laina, o le elemene muamua e faʻatusatusa i le muamua, o le lona lua ma le lona lua, ma isi. O lona uiga, e tatau foi ona fetaui le laina. e ala i le tulaga nei tulaga faatauaina.
Ma o le mea lea e foliga mai su'esu'e i se laina fa'aaoga le "OR" operator:
O le faʻataʻitaʻiga o loʻo mulimuli mai o le a faʻaalia mai ia i tatou su'esu'e ile fa'aoga $all operator. Ma o iinei e le taua le faasologa:
E mafai foi ona tatou su'esu'e i le lapopo'a:
Ae fa'apefea pe a tatou manana'o e su'e se fa'asologa o lona tele e sili atu i le tasi? O loʻo i ai se faʻalapotopotoga mo lenei mea $o fea, lea e mafai ona e tusia ai mea e sili atu ona faigata:
db.unicorns.find({$where: function() { return this.loves && (this.loves.length > 1) } })
I le ala, afai e te manaʻo e faʻataʻitaʻi,
Fa'ailoga Fa'ailoga
Seʻi o tatou faʻasolosolo laʻititi ma fai atu ni nai upu e uiga i foliga o Monga:
- find() ma isi gaioiga e le toe faʻafoʻi faʻamatalaga - latou te toe faʻafoʻi mai se mea e taʻua o le "cursor";
- o le mea moni tatou te vaʻai i faʻamaumauga o loʻo lolomiina o le galuega lea a le faʻamatala.
Taina db.unicorns.find e aunoa ma ni puipui, matou te maua le vave:
Matou te faʻaauau pea ona faʻataunuʻuina talosaga
E iai fo'i le $in operator:
db.unicorns.find({weight: {$in: [650, 704]}})
Sei o tatou talanoa e uiga i le faafouga. Mo se faʻataʻitaʻiga, seʻi o tatou suia le mamafa o le Roooooodles unicorn:
db.unicorns.update({name: "Roooooodles"}, {weight: 2222})
O se taunuuga oa tatou gaioiga, o le pepa o le a toe faafou atoa, ma e na'o le tasi le fanua fa'apitoa o le a tumau i totonu:
O lona uiga, na o le pau lava le mea o le a tumau mo la tatou mea o le mamafa 2222 ma, ioe, id.
E mafai ona e faʻasaʻo le tulaga faʻaaoga $seti:
db.unicorns.update({_id: ObjectId("5da6ea4d9703b8be0089e6db")}, {$set: { "name" : "Roooooodles", "dob" : ISODate("1979-08-18T18:44:00Z"), "loves" : [ "apple" ], "gender" : "m", "vampires" : 99}})
E mafai foi tau fa'aopoopo:
Ma e iai foʻi fa'anoanoa - tu'ufa'atasiga o fa'afouga ma fa'aofi:
O le auala lea e fai ai filifiliga fanua:
O loʻo tumau pea le faʻaopoopoina o nai upu e uiga i faaseʻe и tapulaʻa:
Paʻaga, pau lava, pe a e fia iloa faʻamatalaga,
puna: www.habr.com