MongoDB rajattu kokoelma-luo, Tarkista, & Poista rajattu

Toivo, pidit viimeisestä MongoDB automaattinen lisäys sekvenssin opetuksestamme. Nyt, tarkastelemme MongoDB capped kokoelma. Nämä ovat kiinteitä keräys, joka tukee suuren suoritustehon toimintaa. Lisäyskäskyn perusteella voimme lisätä ja hakea asiakirjan. Lisäksi opimme luomaan, muuntamaan, tarkistamaan ja kyselemään rajattua kokoelmaa MongoDB: ssä.

vihdoin nähdään, mitkä ovat MongoDB-rajatun kokoelman sovellusten hyvät ja huonot puolet.

 mikä on MongoDB-rajattu kokoelma

MongoDB – rajattu kokoelma-luo, Tarkista, Muunna, Poista rajattu kokoelma

Pysy ajan tasalla uusimpien teknologiasuuntausten kanssa
liity Dataflairiin Telegramissa!!

Mitä ovat MongoDB-rajatut kokoelmat?

nämä ovat kiinteitä keräyksiä, jotka tukevat suuria läpimeno-operaatioita. Lisäyskäskyn perusteella voimme lisätä ja hakea asiakirjan. Ne toimivat samalla tavalla kuin pyöreät Puskurit: kun kokoelmatiedostolle on varattu tilaa, se tekee tilaa uusille asiakirjoille korvaamalla kokoelman vanhimmat asiakirjat.

se tarkoittaa, että se alkaa poistaa kokoelman vanhinta asiakirjaa antamatta eksplisiittisiä komentoja. Rajattu kokoelma rajoittaa päivityksiä, jos päivitykset lisäävät asiakirjan kokoa. Se tallentaa asiakirjat levytallennusjärjestyksessä, joten se pitää kirjaa asiakirjan koosta, koska sen ei pitäisi lisätä levylle annettua kokoa. Se sopii parhaiten lokitietojen, välimuistitietojen tai muiden suurten volyymitietojen tallentamiseen.

i. Kuinka luoda rajattu kokoelma MongoDB?

luodaksemme MongoDB-rajatun kokoelman käytämme normaalia createCollection-komentoa, jossa rajattu asetus on tosi ja määritämme kokoelman enimmäiskoon tavuina.

>db.createCollection("cappedLogCollection",{capped:true,size:10000})

yhdessä is: n kanssa voimme rajoittaa kokoelman dokumenttien määrää max-parametrin avulla-

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

Tiedätkö miten luoda tietokanta MongoDB?

ii. Miten tarkistaa, onko kokoelma rajattu vai ei?

jos haluat tarkistaa, onko kokoelma rajattu vai ei, käytä seuraavaa komentoa:

>db.cappedLogCollection.isCapped()

iii. Miten muuntaa kokoelma rajattu?

jos on olemassa kokoelma, jonka haluat muuttaa rajatuksi, voit tehdä sen käyttämällä seuraavaa komentoa:

>db.runCommand({"convertToCapped":"posts",size:10000})

iv.Miten löytää kyselyn rajattu kokoelma MongoDB?

yleensä rajatun kokoelman hakukysely näyttää tulokset lisäysjärjestyksessä. Mutta jos haluat asiakirjat käänteisessä järjestyksessä, käytä lajittelu komento kuten alla:

>db.cappedLogCollection.find().sort({$natural:-1}

Facts about MongoDB Capped Collection

Seuraavassa on muutamia seikkoja, jotka kannattaa muistaa MongoDB: n rajatuista kokoelmista:

  1. rajatusta kokoelmasta ei voi poistaa asiakirjoja. Se voidaan poistaa automaattisesti uusien asiakirjojen lisäämisen yhteydessä vasta, kun kokoelmalle varattu koko on käytetty loppuun.
  2. luettuaan rajatun kokoelman asiakirjat MongoDB palauttaa saman asiakirjan siinä järjestyksessä kuin ne olivat levyllä. Tämän vuoksi se tekee lukuoperaatioista erittäin nopeita.
  3. Päivitysoperaatiolla on yksi rajoitus itsensä kanssa. Jos päivitys kokoelmassa johtaa asiakirjan koon kasvuun, se ei päivitä kyseistä asiakirjaa kokoelmassa, koska jokaisella asiakirjalla on sen kiinteä koko ensimmäisen kerran, kun se lisätään rajattuun kokoelmaan.

suositeltava Readng-Kuinka päivittää asiakirja MongoDB: ssä?

Miten poistaa MongoDB-rajattu kokoelma?

tässä käytetään kahta komentoa, jotka ovat mongodump ja mongorestore.

I. Dump the Caped collection

ensinnäkin dump the Caped collection.

PROD [email protected]:/data/uncap # mongodump -d mydb -c myexampleconnected to: 127.0.0.1:27017Sun Feb 5 00:02:28.879 DATABASE: mydb to dump/mydbSun Feb 5 00:02:28.880 mydb.myexample to dump/mydb/myexample.bsonSun Feb 5 00:02:31.004 Collection File Writing Progress: 868400/67569879 1% (objects)...Sun Feb 5 00:24:13.004 Collection File Writing Progress: 67480900/67569879 99% (objects)Sun Feb 5 00:24:14.203 67569879 objectsSun Feb 5 00:24:14.203 Metadata for mydb.myexample to dump/mydb/myexample.metadata.json

ii. Metafile JSON-muodossa

nyt dump sisältää myös metatiedoston JSON-muodossa.

cat dump/mydb/myexample.metadata.json { "options": { "capped": true, "size": 107374182400 }, "indexes": }

Näytä – MongoDB-varmuuskopiointi & Palautusvaihtoehto

iii. Poista ”optio” – osio

nyt tämän jälkeen poista ”options” – osio, joka näyttää rajatun kokoelman koon.

PROD [email protected]:/data/uncap # mongorestore -d mydb -c myexample_tmp dump/mydb/myexample.bsonconnected to: 127.0.0.1:27018Sun Feb 5 00:29:41.473 dump/mydb/myexample.bsonSun Feb 5 00:29:41.473 going into namespace Sun Feb 5 00:29:44.060 Progress: 51202216/106169934834 0% (bytes)Sun Feb 5 00:29:47.007 Progress: 106497873/106169934834 0% (bytes)Sun Feb 5 01:57:19.065 Progress: 106159626025/106169934834 99% (bytes)67569879 objects foundSun Feb 5 01:57:19.637 Creating index: { key: { _id: 1 }, ns: "mydb.myexample_tmp", name: "_id_" }

iv. luo indeksit meille

tämän jälkeen se luo automaattisesti indeksit meille. Tarkista se tämän jälkeen.

rs-prod:PRIMARY> db.myexample.isCapped()truers-prod:PRIMARY> db.myexample_tmp.isCapped()falsers-prod:PRIMARY> db.myexample.count()9876543210rs-prod:PRIMARY> db.myexample_tmp.count()9876543210

v. pudota vanha kokoelma ja uudelleennimetä

tämän jälkeen vanha kokoelma ja uudelleennimetä uusi kokoelma.

db.myexample.drop()db.myexample_tmp.renameCollection('myexample')db.myexample.count()9876543210

rajattujen kokoelmien edut

nämä ovat joitakin etuja:

  • kyselyt eivät tarvitse indeksiä asiakirjojen palauttamiseen lisäysjärjestyksessä, minkä vuoksi se tarjoaa suuremman lisäysnopeuden.
  • rajatut kokoelmat mahdollistavat dokumentin alkuperäiseen kokoon sopivat päivitykset, mikä antaa meille varmuuden siitä, että dokumentti ei muuta sijaintiaan levyllä.
  • on hyödyllistä säilyttää lokitiedostoja.

rajattujen kokoelmien haitat

seuraavat ovat rajattujen kokoelmien rajoitukset Mongodbissa:

  • jos asiakirjan päivittäminen ylittää kokoelman alkuperäisen koon, päivitystoiminto epäonnistuu.

myös Learn – MongoDB-suhteet & Tietokantaviite

  • rajatusta kokoelmasta ei ole mahdollista poistaa asiakirjoja. Jos haluat poistaa kaikki tietueet rajatusta kokoelmasta, käytä seuraavaa komentoa:
{ emptycapped: nameOfCollection }
  • ei ole mahdollista sirpaloida rajattua kokoelmaa.

rajatun kokoelman soveltaminen

jotkut rajatun kokoelman sovellukset ovat seuraavat:

  • hakemusten kirjaaminen
  • historia
  • tarkastustiedot

Yhteenveto

siksi olemme tutkineet kaikkea MongoDB – rajattujen kokoelmien luomisesta, muuntamisesta, tarkistamisesta, eduista, haitoista. Vihdoin olemme tutkineet noin mongodump ja mongorestore ovat kaksi komentoa käyttää purkamista kokoelma.

Toivo. pidät sitä hyödyllisenä. Jos sinulla on kysyttävää, voit vapaasti jakaa kanssamme. Palaamme varmasti asiaan!

Aiheeseen Liittyvä Aihe-MongoDB Tavoite & Atomioperaatiot

Vastaa

Sähköpostiosoitettasi ei julkaista.