Wednesday 6 September 2017

Org Bson Tyypit Binary Optiot


Ohjain sisältää useita luokkia ja liitäntöjä, joita käytetään BSON-asiakirjojen esittämiseen. Vaikka BsonDocument-luokka ei ole yleensä tarpeen korkean tason ohjainliittymän käyttäjien kannalta, BsonDocument-luokka on keskeinen tapa, jolla asiakirjat hallitaan sisäisesti kuljettajalta. BsonDocument-luokka voi edustaa dynaamisesti jäsenneltyä Asiakirjat, jotka ovat monimutkaisia ​​tyypillisen turvallisen API: n kanssa. Esimerkiksi asiakirja voidaan rakentaa BsonDocument-tiedostona seuraamalla. Työntekijöiden turvallisuus on peräisin BsonDocument-sovelluksesta, joka toteuttaa Map String, BsonValue, joten myös sisäänrakennetut tyypit kuten int String ja List on pakattava BsonValue-alaluokassa Saat täydellisen luettelon BsonValue-alatyypeistä tutustumalla BsonValue-sovelluksen dokumentaatioon. Useimmat sovellukset käyttävät asiakirja-aluetta. Kuten BsonDocument, Asiakirjaluokka voi edustaa dynaamisesti jäsenneltyjä asiakirjoja mistä tahansa monimutkaisuudesta, mutta kirjoittaminen on Huomattavasti löysemmäksi, koska asiakirja toteuttaa Map Stringin, Object Tämän seurauksena sama dokumentti kuin yllä voidaan konstruoida D Otsumaluokka on seuraava. Kirjoituskoodilla on vähemmän koodia, mutta runtime-virheet ovat mahdollisia, jos vahingossa lisäät ei-tuetun arvotyypin tyypin. Yleisimmin käytetyt arvotyypit ovat. On mahdollista muuttaa näitä määrityksiä mekanismin tekemistä varten On käsitelty myöhemmin tässä viitteessä. Vaikkakaan uusille sovelluksille ei suositella, 2 x - ajurisarjasta päivitettävät voivat jatkaa DBObject-käyttöliittymän käyttöä edustaa BSON-dokumentteja. DBObject on samanlainen kuin Dokumentti, koska se edustaa BSON-arvoja Objekti, mutta sillä on Muutamia puutteita, jotka olivat mahdottomia voittaa, on rajapinta pikemminkin kuin luokkaa, joten sen API: tä ei voida laajentaa rikkomatta binääristä yhteensopivuutta. T todellisuudessa toteuttaa Map String, Object. because se on käyttöliittymä, erillinen betoni luokka Kutsutaan BasicDBObject, joka toteuttaa tämän käyttöliittymän. Voit sitoa nämä kaikki yhdessä, kuljettaja sisältää pienen mutta tehokkaan rajapinnan nimeltään Bson Mikä tahansa luokka, joka edustaa B SON-dokumentti, sisältyykö se itse kuljettajaan tai kolmannelta osapuolelta, voi toteuttaa tämän käyttöliittymän, ja sitä voidaan käyttää missä tahansa korkean tason API: ssa, jossa BSON-dokumentti vaaditaan. Edellä mainitut kolme ryhmää toteuttavat tämän käyttöliittymän ja siten Voidaan käyttää vaihtokelpoisesti tietyn sovelluksen tarpeiden mukaan Esimerkki. Readers and Writers. jsonutil Työkalut Python s json - moduulin käyttämiseksi BSON-dokumenttien kanssa. Käytettävissä Python s json - moduulille BSON-dokumenttien kanssa. Tämä moduuli tarjoaa kaksi helper-menetelmää kaatopaikalle ja kuormituksille Jotka kääritään alkuperäiset json-menetelmät ja antavat selkeän BSON-muuntamisen jsonille Tämä mahdollistaa BSON-asiakirjojen erikoistuneen koodauksen ja dekoodauksen MongoDB Extended JSON: n tiukkaan tilaan Tämän avulla voit koodata BSON-asiakirjoja JSON: lle jopa silloin, kun ne käyttävät erityisiä BSON-tyyppejä. Esimerkki Käyttö serialization. Example käyttö deserialization. Alternatively, voit manuaalisesti siirtää oletuksena, että se voitti t käsitellä binääri ja koodin tapauksissa, kun ne laajennetaan Merkkijonoja voit antaa mukautettuja oletuksia, mutta se on nopeampi, koska on vähemmän rekursiota. Jos sovelluksesi ei tarvitse JSONOptionsin tarjoamaa joustavuutta ja viettää suurta aikaa jsonutil-moduulissa, katso python-bsonjs: lle mukava Suorituskyvyn parantaminen python-bsonjs on nopea BSON MongoDB Extended JSON - muunnin pythonille, joka on rakennettu libbsonin yläpuolelle python-bsonjs toimii parhaiten PyMongon kanssa, kun käytetään RawBSONDocument. Changed versiossa 2 8 Timestampin lähtömuoto on muuttunut Dekoodataan aikaleimasivulle. Vanha formaatti dekoodataan edelleen python-dictille kuten aiemmin. Koodaus vanhaan muotoon ei enää tueta, koska se ei koskaan ollut oikea ja menettää tyyppitiedot. Lisätty tuki numerolle Pitkä ja määrittelemätön - uusi MongoDB 2: ssa 6 - ja jäsentämispäivä ISO-8601 - muodossa. Versio 2: n versioon 7 Säilyttää järjestystä Son, Timestamp, Code, Binary ja DBRef-tapauksissa. Versio 2: n muuttaminen 3 Lisätty kaatopaikat ja loa Ds avustajat käsittelevät automaattisesti tulosta jsonille ja tukee binääri - ja code. class DatetimeRepresentation LEGACY 0.Legacy MongoDB Extended JSON datetime edustus. Instanssit koodataan JSON: lle formaatissa, jossa dateAsMilliseconds on 64-bittinen allekirjoitettu kokonaisluku, joka antaa millisekuntien määrän Unix-aikakautena UTC Tämä oli oletuskoodaus ennen PyMongo-versiota 3 4.New versio 3 4.NumberLong datetime edustus. Instanssit koodataan JSON: lle muodossa, jossa dateAsMilliseconds on 64-bittisen allekirjoitetun kokonaislukeman merkkijonoesitys, joka antaa millisekuntien määrän Unix-aikakauden jälkeen UTC. New versio 3 4.ISO-8601 datetime - esitys. Tapauksissa, jotka ovat suurempia tai yhtä suuria kuin Unix-aika UTC, koodataan JSON: lle formaatissa ennen Unix-ajanjaksoa UTC koodataan ikään kuin datetime-esitys on NUMBERLONG. New versio 3 4.class JSONOptions. Encapsulates JSON - vaihtoehdot kaatopaikoille ja Loads. Raises ConfigurationError on Python 2 6 jos simplejson ei ole asennettu ja documentclass ei ole oletusarvoinen dict. strictnumberlong Jos True Int64 objektit on koodattu MongoDB Extended JSON: n Strict tilatyyppi NumberLong eli muuten ne koodataan int Defaults to False. Datetimerepresentation Esitys, jota käytetään koodattaessa oletusasetuksia LEGACY. strictuuid Jos True objekti on koodattu MongoDB Extended JSON: n Strict tilamuoto binääri Muussa tapauksessa se koodataan Defaults to False. documentclass BSON asiakirjat palauttavat kuormat dekoodataan esimerkkiin Tämän luokan on oltava aliluokkaa oletusarvoista dict. uuidrepresentation varten BSON-esitys käytettäväksi koodauksen ja dekoodauksen yhteydessä i Oletusarvot oletusarvoiksi PYTHONLEGACY. tzaware Jos True MongoDB Extended JSON: n Strict mode - tyyppi Date on dekoodattu ajastuntuntoon havaittaville instansseille Muussa tapauksessa ne ovat naiivia Defaults to True. tzinfo Alaluokka, joka määrittää aikavyöhykkeen, josta datetime objekteista tulisi dekoodata Defaults to Utc. args argumentteja CodecOptions. kwargs argumentteja CodecOptions. New versio 3 4. DEFAULTJSONOPTIONS JSONOptions strictnumberlong Väärä, datetimerepresentation 0, strictuuid Väärä, documentclass dict, tzaware Todellinen, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler tiukka, tzinfo objekti osoitteessa 0x7feb78b44e50. Default JSONOptions for JSON-koodausdekoodaus. Uusi versiossa 3. 4. STRICTJSONOPTIONS JSONOptions strictnumberlong True, datetimerepresentation 2, strictuuid True, documentclass dict, tzaware Todellinen, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler tiukka, tzinfo objekti osoitteessa 0x7feb78b44e50.JSONOptions for MongoDB Extended JSON: n Strict mode encoding. New in Versio 3 4. Helper-toiminto, joka kääritään. Rekursivointitoiminto, joka käsittelee kaikki BSON-tyypit, mukaan lukien binaari - ja koodispesifikaatio Versio 1 1.BSON on binäärimuoto, jossa nolla tai enemmän tilattuja avainparametrejä tallennetaan yhtenä kokonaisuutena Me kutsumme tätä kokonaisuutta dokumentiksi. Seuraava kielioppi määrittelee BSON-standardin version 1 1 Olemme kirjoittaneet kieliopin käyttäen pseudo-BNF-syntaksia. Validollista BSON-dataa edustaa dokumentti, joka ei ole terminaali. Perusmallit. Seuraavat perustyypit käytetään terminaaleina muuhun kielioppiin Jokainen tyyppi on sarjoitettava pienimuotoisessa muodossa.4 bytes 32-bittinen allekirjoitettu kokonaisluku, kaksi s komplementtia. 8 tavua 64-bittinen allekirjoitettu kokonaisluku, kaksi s komplementtiä.8 tavua 64-bittinen allekirjoittamaton kokonaisluku.8 tavua 64-bittinen IEEE 754 -2008 binäärinen kelluva kohta.16 tavua 128-bittinen IEEE 754-2008 desimaali kelluva kohta Seuraavassa määritetään loput BSON-kieliopin Huomaa, että lainatut merkkijohdot edustavat päätelaitteita ja niitä pitäisi tulkita C-semanttisella esi - merkiksi x01 edustaa tavua 0000 0001 Myös Huomaa tha T käytämme operaattoria pikseleinä toistettavaksi e g x01 2 on x01 x01 Käytettäessä unary-operaattorina tarkoittaa, että toisto voi tapahtua 0 tai useamman kerran. int32 elist x00. X0B ename cstring cstring. Regular expression - Ensimmäinen cstring on regex-malli, toinen on regex-optio-merkkijono. Optiot tunnistetaan kirjaimilla, jotka on tallennettava aakkosjärjestykseen. Voimassa olevat vaihtoehdot ovat i, jos kyseessä on epäherkkä yhteensopivuus, X verbose-tilassa, l tehdä w, W, jne. Locale riippuvainen, s, dotall-tila vastaa kaikkea, ja u tehdä w, W jne. Täsmää unicode. X0C ename merkkijono tavu 12.DBPointer deprecated. X0D ename merkkijono. X0E ename merkkijono. X0F ename codews. JavaScript-koodi w soveltamisala. X10 ename int32. X11 ename uint64. X12 ename int64. X13 ename decimal128.String - int32 on tavun tavu tavuilla 1 jäljessä x00 Tavu on nolla tai enemmän UTF-8-koodattuja merkkejä. Zero tai enemmän modifioituja UTF-8-koodattuja merkkejä, joita seuraa x00 Tavu EI OLE sisältää x00 , Joten se ei ole täysi UTF-8.int32 alatyyppistä tavua. Binary - Int32 on tavujen määrä tavussa. Yleinen binary subtype. int32 merkkijono document. Array - Arkin asiakirja on normaali BSON-asiakirja, jossa on kokonaislukuarvot Avaimet alkavat 0 ja jatkuvat peräkkäin Esimerkiksi taulukko punainen, sininen koodataan asiakirjana Näppäimien on oltava nousevassa numeerisessa järjestyksessä. UTC datetime - Int64 on UTC millisekuntia Unix-aikakauden jälkeen. Timestamp - Erityinen sisäinen Tyyppi, jota MongoDB-replikaatio ja varjostus käyttävät Ensimmäiset 4 tavua ovat lisäys, toinen 4 on aikaleima. Minun avain - Erikoistyyppi, joka vertaa alempia kuin kaikki muut mahdolliset BSON-elementtiarvot. Max-avain - erikoistyyppi, joka vertaa korkeampia kuin kaikki muut mahdolliset BSON-elementit Yleinen binääri-alatyyppi - Tämä on yleisimmin käytetty binääri-alatyyppi ja sen pitäisi olla oletusarvo kuljettajille ja työkaluille. BSON-binääri - tai BinData-datatyypillä käytetään tavujen ryhmien esittämistä. Se on hieman analoginen Java-käsitteeseen ByteArray BSON Binaarisilla arvoilla on alatyyppi Tätä käytetään ilmaisemaan millaisia ​​tietoja on tavujärjestelmässä Alityypit nollasta 127: een ovat ennalta määritettyjä tai varattuja. Alakohdat 128-255 ovat käyttäjän määrittämiä. X02 Binäärinen vanha - tämä oli oletusalatyyppi mutta se hylättiin x00: n hyväksi. Drivers ja työkalujen pitäisi olla varma käsitellä x02 asianmukaisesti. Binaaritiedon rakenteen bittien ei-terminaalisen tavujoukon on oltava int32, jota seuraa Tavu Int32 on toistettujen tavujen määrä. X03 UUID Vanha - Tämä oli UUID-alatyyppi, mutta se hylättiin x04: n hyväksi. Ajurit ja työkalut kielillä, joilla on alkuperäiset UUID-tyypit, pitäisi käsitellä x03 asianmukaisesti. X80- xFF Käyttäjän määrittelemät alatyypit Binääridata voi olla mikä tahansa. Koodin w soveltamisala - Int32 on koko koodituotteiden arvon pituus tavuina. Joukko on JavaScript-koodi Asiakirja on kartoitus tunnisteista arvoihin, mikä kuvaa sitä soveltamisalaa, jossa Merkkijono on arvioitava. Kuljettaja sisältää useita luokkia ja liitäntöjä, joita käytetään BSON-asiakirjojen esittämiseen. Vaikka korkean tason ohjainliittymän käyttäjien ei yleensä tarvitsisi, BsonDocument-luokka on keskeinen tapa, jolla asiakirjat hallitaan sisäisesti. BsonDocument Luokka voi edustaa dynaamisesti jäsenneltyjä asiakirjoja mistä tahansa monimutkaisuudesta tyyppiseltä API: ltä. Esimerkiksi dokumentti voidaan rakentaa BsonDocument-tiedostona seuraamalla. Tyypin turvallisuus on peräisin BsonDocumentin toteutuksesta Map String, BsonValue, joten myös sisäänrakennetut tyypit kuten int String Ja luettelo on käärittävä BsonValue-alaluokkaan. Täydellinen luettelo BsonValue-alatyypeistä on BsonValue-sovellusasiakirjojen kanssa. Useimmat sovellukset w Sairas käyttää asiakirjaluokkaa sen sijaan Kuten BsonDocument-asiakirjojen luokka voi edustaa dynaamisesti jäsenneltyjä asiakirjoja mistä tahansa monimutkaisuudesta, mutta kirjoittaminen on paljon löysempi, koska asiakirja toteuttaa karttasarjan, objektin seurauksena sama asiakirja kuin edellä voidaan muodostaa käyttämällä Document-luokkaa Kuten seuraavat. On vähemmän koodia kirjoittaa, mutta runtime virheet ovat mahdollisia, jos vahingossa lisätä esimerkki ei-tuettu arvon tyyppi. Yleisimmin käytetyt arvotyypit ovat. On todella mahdollista muuttaa näitä kartoituksia mekanismi tehdä niin on katettu Myöhemmin tässä viitteessä. Vaikka ei suositella uusille sovelluksille, 2 x - ajurisarjasta päivitettävät voivat jatkaa DBObject-käyttöliittymän käyttöä edustaa BSON-dokumentteja. DBObject on samanlainen kuin Dokumentti, koska se edustaa BSON-arvoja Objekti, mutta sillä on muutamia puutteita Että oli mahdotonta voittaa. On rajapinta eikä luokka, joten sen API: aa ei voida laajentaa rikkomatta binääristä yhteensopivuutta. Ei t todellisuudessa toteuta Map String, Object. because se on käyttöliittymä, vaaditaan erillinen konkreettinen luokka nimeltä BasicDBObject, joka toteuttaa tämän käyttöliittymän. Yhdistä nämä kaikki yhteen, ohjain sisältää pienen mutta tehokkaan rajapinnan nimeltä Bson Mikä tahansa luokka, joka edustaa BSON-dokumentti, sisältyykö itse kuljettaja tai kolmannelta osapuolelta, voi toteuttaa tämän käyttöliittymän, ja sitä voidaan käyttää missä tahansa korkean tason API: ssa, jossa BSON-dokumentti vaaditaan. Edellä mainitut kolme ryhmää toteuttavat tämän käyttöliittymän ja siten Voidaan käyttää vaihtokelpoisesti tietyn sovelluksen tarpeiden mukaan Esimerkki. Readers and Writers. BSON serialization and deserialiation. new BSON - Luo uuden BSON-seralisaattorin deserialisoijan, jota voit käyttää BSONin sarjoittamiseen ja deserialisoimiseen. BSON-sarjatuottamismenetelmällä on javascript-objekti ja Valinnainen lisävarusteobjekti ja palauttaa puskurin. Param-objekti Javascript-objektin serialisoimiseksi. Param-sarjanumero tarkistaa, ovatko näppäimet voimassa. Param serialize javascript - toiminnot. Palauttaa palautuspisteen. BSON serializeWithBufferAndIndex - menetelmä vie objektin, kohdepuskurimuuttujan ja valinnaisen lisäasetusobjektin ja palauttaa lopullisen serialization-indeksin lopulliseen puskuriin. Puskuri, asetukset. Param-objekti Javascript-objektin serialisoimiseksi. Param-puskurin puskurin, jonka olet varannut tallennetun sarjamuotoisen BSON-objektin tallentamiseen. Param-sarjanumero tarkistaa, ovatko näppäimet voimassa. Param serialize javascript - toiminnot. Param jättää määrittelemättömät kentät. Paranna indeksi puskurissa, jossa haluamme aloittaa sarjoituksen. Palauttaa palauttaa indeksin, joka osoittaa viimeisen kirjallisen tavun puskuriin. BSON calculateObjectSize - menetelmällä on javascript-objekti ja valinnainen optio-objekti ja palauttaa BSON-objektin koon. Param-objekti Javascript-objektin serialisoimiseksi. Param serialize javascript - toiminnot. Paluu palauttaa puskurin ilmentymä. BSON deserialize menetelmä ottaa puskurin ja valinnaisen lisävarusteobjektin ja palauttaa deserialisoidun Javascript-objektin. Param arvioi toiminnot BSON-asiakirjassa, joka on määritelty deserialisoidulle kohteelle. Param-välimuisti arvioi toiminnot uudelleenkäyttöä varten. Param käyttää crc32-koodia välimuistissa, muussa tapauksessa käytä funktion merkkijonoa. Param, kun Deserialisoidaan Long, sijoittuu numeroon, jos se on pienempi kuin 53 bittiä. Parametri, kun binaryin deserialisointi palauttaa sen puskurinäytteeksi. Param, kun deserialisointi edistää BSON-arvoja lähimpään vastaaviin tyyppeihin. Param sallitaan määrittää, missä kentissä haluamme palata unserialisoiduksi raakapuskuriksi. Param palauttaa BSON-säännölliset lausekkeet BSONRegExp-instansseina. Paluu palauttaa seuraavan indeksin puskurissa deserialisoinnin x asiakirjojen lukumäärän jälkeen. BSON deserializeStream - menetelmä ottaa puskurin, startIndexin ja mahdollistaa paremman hallinnan puskurin deserialisoimiseksi, joka sisältää ketjutettuja BSON-asiakirjoja. StartIndex, numberOfDocuments, documents, docStartIndex, vaihtoehdot. Param puskuri puskurin, joka sisältää sarjamuotoisen BSON-asiakirjojen sarjan. Param startIndex käynnistysindeksi datapuskurissa, jossa deserialisointi on aloitettava. Param numberOfDocuments asiakirjojen määrä deserialize. Param asiakirjat array jossa tallentaa deserialisoidut asiakirjat. Param docStartIndex hakemisto asiakirjojen ryhmässä, mistä aloittaa asiakirjojen lisääminen. Param arvioi toiminnot BSON-asiakirjassa, joka on määritelty deserialisoidulle kohteelle. Param-välimuisti arvioi toiminnot uudelleenkäyttöä varten. Param käyttää crc32-koodia välimuistissa, muussa tapauksessa käytä funktion merkkijonoa. Param, kun Deserialisoidaan Long, sijoittuu numeroon, jos se on pienempi kuin 53 bittiä. Parametri, kun binaryin deserialisointi palauttaa sen puskurinäytteeksi. Param, kun deserialisointi edistää BSON-arvoja lähimpään vastaaviin tyyppeihin. Param sallitaan määrittää, missä kentissä haluamme palata unserialisoiduksi raakapuskuriksi. Param palauttaa BSON-säännölliset lausekkeet BSONRegExp-instansseina. Paluu palauttaa deserialisoidun Javascript Object. Manage-kehittäjäryhmät, joilla on vaihtelevat käyttöoikeudet ja useat hankkeet. Lue lisää yksityisistä paketeista ja organisaatioista.

No comments:

Post a Comment