Thursday, 14 September 2017

Org Bson Typer Binära Alternativ


Föraren innehåller flera klasser och gränssnitt som används för att representera BSON-dokument. Även om det vanligtvis inte behövs av användare på högnivå-drivrutins API, är BsonDocument-klassen central för hur dokumenten hanteras internt av föraren. BsonDocument-klassen kan representera dynamiskt strukturerad Dokument av någon komplexitet med ett typ säkert API Till exempel kan dokumentet konstrueras som ett BsonDocument enligt följande. Typsäkerheten kommer från BsonDocument implementering Map String, BsonValue så även inbyggda typer som Int String and List måste vikas in I en underklass av BsonValue För en komplett lista över BsonValue-undertyper, vänligen kolla BsonValue API-dokumentationen. De flesta applikationer kommer att använda dokumentklassen istället som BsonDocument. Dokumentklassen kan representera dynamiskt strukturerade dokument av vilken komplexitet som helst, men typningen är Mycket lösare, eftersom dokumentet implementerar kartsträng, objekt Som ett resultat kan samma dokument som ovan konstrueras med D Ocument-klassen enligt följande. Det finns mindre kod att skriva, men körtidsfel är möjliga om du oavsiktligt lägger till en instans av en icke-stödd värdetyp. De vanligaste värdetyperna är. Det är faktiskt möjligt att ändra dessa mappings mekanismen för att göra det Täcker senare i denna referens. Även om det inte rekommenderas för nya applikationer kan de som uppgraderas från 2 x-drivrutinsserien fortsätta att använda DBObject-gränssnittet för att representera BSON-dokument. DBObject liknar dokumentet eftersom det representerar BSON-värden som Objekt men det har en Några brister som var omöjliga att övervinna. Det är ett gränssnitt snarare än en klass, så det kan inte s API utökas utan att bryta binär kompatibilitet. Det gör inte faktiskt att implementera Map String, Object. because det är ett gränssnitt, en separat betongklass Kallad BasicDBObject som implementerar det gränssnittet, krävs. För att knyta dessa alla tillsammans innehåller drivrutinen ett litet men kraftfullt gränssnitt som heter Bson Any class som representerar ett B SON-dokumentet, som ingår i föraren själv eller från en tredje part, kan implementera detta gränssnitt och kan sedan användas på någon plats i API på hög nivå där ett BSON-dokument krävs. De tre klasserna som diskuteras framför allt implementerar detta gränssnitt och det kan också Användas utbytbart baserat på behoven hos en given applikation. Exempelvis. Readers och Writers. jsonutil Verktyg för att använda Python s json modul med BSON documents. Tools för att använda Python s json modul med BSON documents. This modulen ger två hjälpar metoder dumpningar och belastningar Som sätter in de inbyggda json-metoderna och ger explicit BSON-konvertering till och från json Det gör det möjligt för specialkodning och avkodning av BSON-dokument i MongoDB Extended JSON s Strikt läge Detta låter dig koda avkoda BSON-dokument till JSON även när de använder speciella BSON-typer. Exempel Användning serialisering. Exempel användning deserialization. Alternativt kan du manuellt överlämna standard till Det vann inte hantera binära och kod instanser som de utökas Strängar kan du inte tillhandahålla anpassade standardvärden, men det blir snabbare då det finns mindre rekursion. Om din applikation inte behöver flexibiliteten som erbjuds av JSONOptions och spenderar mycket tid i jsonutil-modulen, leta efter python-bsonjs för en trevlig Prestandaförbättring python-bsonjs är en snabb BSON till MongoDB Extended JSON-omvandlare för Python byggd på toppen av libbson python-bsonjs fungerar bäst med PyMongo när RawBSONDocument används. Bakgrund i version 2 8 Utgångsformatet för tidsstämpel har ändrats från till Detta nya format kommer att Avkodas till en instans av tidsstämpel Det gamla formatet fortsätter att avkodas till en python dikt som tidigare Kodning till det gamla formatet stöds inte längre eftersom det aldrig korrigeras och förlorar typinformation Tillagt stöd för nummer Långt och odefinierat - nytt i MongoDB 2 6 - och analyseringsdatum i ISO-8601-format. Inhängt i version 2 7 Behåller ordning vid återgivning av SON, Timestamp, Code, Binär och DBRef instances. Changed in version 2 3 Added dumps and loa Ds-hjälpare att automatiskt hantera konvertering till och från json och stöder binär och kod. class DatetimeRepresentation LEGACY 0.Legacy MongoDB Extended JSON datetime representation. Instanser kommer att kodas till JSON i det format där dateAsMilliseconds är ett 64-bitars signerat heltal som ger antalet millisekunder sedan Unix epoken UTC Detta var standardkodningen före PyMongo version 3 4.Ny i version 3 4.NumberLong datetime representation. Instanser kommer att kodas till JSON i det format där dateAsMilliseconds är strängrepresentationen av ett 64-bitars signerat heltal som ger antalet millisekunder sedan Unix epoken UTC. New i version 3 4.ISO-8601 datetime representation. Instanser som är större än eller lika med Unix epoken UTC kommer att kodas till JSON i formatet instanser innan Unix epoken UTC kodas som om datetime-representationen är NUMBERLONG. New i version 3 4.class JSONOptions. Inkapslar JSON-alternativ för dumpar och Loads. Raises ConfigurationError på Python 2 6 om simplejson inte är installerat och dokumentklass är inte standard dict. strictnumberlong Om True Int64-objekt kodas till MongoDB Extended JSON s Strängtypstyp NumberLong dvs annars kommer de att kodas som en int Standard till False. Datetimerepresentation Representationen som ska användas vid kodning av instanser av standard till LEGACY. strictuuid Om True-objektet kodas till MongoDB Extended JSON s Strikt lägetyp Binärt Annars kommer det att kodas som standard till False. documentclass. BSON-dokument som returneras av belastningar kommer att avkodas till en instans Av den här klassen Måste vara en underklass av standardvärden för dict. uuidrepresentation Den BSON-representation som ska användas vid kodning och avkodning i Nstances of Default till PYTHONLEGACY. tzaware Om True MongoDB Extended JSON s Strängtypstyp Datum avkodas till tidszonens medveten instans av Annars kommer de att vara naiva Standard till True. tzinfo En underklass som anger tidszonen från vilken datetimeobjekt ska avkodas. Standard till Utc. args argument till CodecOptions. kwargs argument till CodecOptions. New i version 3 4. DEFAULTJSONOPTIONS JSONOptions strictnumberlong False, datetimerepresentation 0, strictuuid False, documentclass dict, tzaware True, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler strikt, tzinfo objekt vid 0x7feb78b44e50. Default JSONOptions for JSON-kodning av avkodning. Ny i version 3 4. STRICTJSONOPTIONS JSONOptions strictnumberlong True, datetimerepresentation 2, strictuuid True, documentclass dict, tzaware True, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler strikt, tzinfo-objekt vid 0x7feb78b44e50.JSONOptioner för MongoDB Extended JSON s Strikt läge kodning. Nytt i Version 3 4. Hjälpsfunktion som wraps. Recursive funktion som hanterar alla BSON-typer inklusive Binary and Code. Specification Version 1 1.BSON är ett binärt format där noll eller flera beställda nyckelvärdespar sparas som en enskild enhet. Vi kallar denna enhet ett dokument. Följande grammatik specificerar version 1 1 av BSON-standarden Vi har skrivit grammatiken med en pseudo-BNF-syntax. Giltiga BSON-data representeras av dokumentets icke-terminala basiska typer. Följande grundtyper används som terminaler i resten av grammatiken Varje typ måste serialiseras i lilla endian format.4 byte 32-bitars tecknat heltal, två s kompletterar 8 byte 64-bitars tecknat heltal, två s kompletterar 8 byte 64-bitars unsigned integer.8 bytes 64-bitars IEEE 754 -2008 binär flytpunkt.16 byte 128-bitars IEEE 754-2008 decimal flytpunkt. Följande anger resten av BSON grammatiken Observera att citerade strängar representerar terminaler och ska tolkas med C-semantik, t. ex. x01 representerar byte 0000 0001 Notera tha T vi använder operatören som sten för repetition e g x01 2 är x01 x01 När den används som en unik operatör, innebär det att repetitionen kan inträffa 0 eller flera gånger. int32 elist x00. X0B ename cstring cstring. Regular expression - Den första cstring är regex mönstret, den andra är regex optionssträngen Alternativ identifieras med tecken, som måste lagras i alfabetisk ordning. Giltiga alternativ är jag för obestämd matchning, m för multilinjär matchning, X för verbose mode, l för att göra w, W, etc beroende på lokal, s för dotall-läge matchar allt, och du gör w, W, etc matcha unicode. X0C ename strängbyte 12.DBPointer Utdaterad. X0D ename sträng. X0E ename sträng. X0F ename codews. JavaScript code w räckvidd. X10 ename int32. X11 ename uint64. X12 ename int64. X13 ename decimal128.String - Int32 är antalet byte i byte 1 för efterföljande x00 Byte är noll eller flera UTF-8 kodade tecken. Noll eller flera modifierade UTF-8 kodade tecken följt av x00 Byte SKALL INTE innehålla x00 , Därför är det inte fullt UTF-8.int32-subtyp byte. Binary - Int32 är antalet byte i byte. Generic binär subtype. int32 sträng document. Array - Dokumentet för en array är ett normalt BSON-dokument med heltal För nycklarna, börjar med 0 och fortsätter i följd. Till exempel skulle rutan röd, blå kodas som dokumentet. Nycklarna måste vara i stigande numerisk ordning. UTC datetime - Int64 är UTC-millisekunder sedan Unix-epoken. Timestamp - Special intern Typ som används av MongoDB replikering och sharding Första 4 byte är en ökning, andra 4 är en tidsstämpel. Min nyckel - Special typ som jämför lägre än alla andra möjliga BSON elementvärden. Max nyckel - Special typ som jämför högre än alla andra möjliga BSON elem Ent-värden. Generisk binär subtyp - Det här är den vanligaste binära subtypen och bör vara standard för drivrutiner och verktyg. BSON binär eller BinData datatyp används för att representera arrayer av byte Det är något analogt med Java-begreppet för en ByteArray BSON Binära värden har en subtyp Det här används för att ange vilken typ av data som finns i byte array Subtypes från noll till 127 är fördefinierade eller reserverade Subtypes från 128-255 är användardefinierade. X02 Binär gammal - Det här brukade vara standard undertyp, men avlägsnades till förmån för x00. Drivrutiner och verktyg bör vara säker på att hantera x02 på lämpligt sätt. Den binära dataens struktur måste byte arrayen i binär icke-terminal vara en int32 följt av En byte Int32 är antalet byte i repetitionen. X03 UUID Old - Det här brukade vara UUID-undertypen, men avlägsnades till förmån för x04 Drivrutiner och verktyg för språk med en inbyggd UUID-typ ska hantera x03 på lämpligt sätt. X80- xFF Användardefinierade undertyper Den binära data kan vara något. Code w scope - Int32 är längden i byte av hela codews-värdet. Strängen är JavaScript-kod. Dokumentet är en kartläggning från identifierare till värden som representerar det område där Strängen bör utvärderas. Föraren innehåller flera klasser och gränssnitt som används för att representera BSON-dokument. Även om det vanligtvis inte behövs av användare på högnivå-drivrutins API, är BsonDocument-klassen central för hur dokumenten hanteras internt av föraren The BsonDocument Klassen kan representera dynamiskt strukturerade dokument av någon komplexitet med ett typ säkert API. Exempelvis kan dokumentet byggas som ett BsonDocument enligt följande. Typsäkerheten kommer från BsonDocument implementering Map String, BsonValue så även inbyggda typer som Int String Och listan måste vikas in i en underklass av BsonValue. För en komplett lista över BsonValue-undertyper, vänligen se dokumentationen för BsonValue API. De flesta applikationer w Sjukt använda dokumentklassen istället som BsonDocument. Dokumentklassen kan representera dynamiskt strukturerade dokument av vilken komplexitet som helst, men typningen är mycket lösare, eftersom dokumentet implementerar kartsträng, objekt. Som ett resultat kan samma dokument som ovan konstrueras med hjälp av dokumentklassen Som följer. Det finns mindre kod att skriva, men körtidsfel är möjliga om du oavsiktligt lägger till en instans av en icke-stödd värdetyp. De vanligaste värdetyperna är. Det är faktiskt möjligt att ändra dessa mappings mekanismen för att göra det är täckt Senare i denna referens. Även om det inte rekommenderas för nya applikationer kan de som uppgraderas från 2 x-drivrutinsserien fortsätta att använda DBObject-gränssnittet för att representera BSON-dokument. DBObject liknar Dokument genom att det representerar BSON-värden som Objekt men det har några brister Det var omöjligt att övervinna. Det är ett gränssnitt snarare än en klass, så det kan inte förlängas utan att bryta binär kompatibilitet. Implementerar inte faktiskt Map String, Object. because det är ett gränssnitt, en separat betongklass som heter BasicDBObject som implementerar det gränssnittet, krävs. För att knyta alla dessa tillsammans innehåller drivrutinen ett litet men kraftfullt gränssnitt som heter Bson Any class som representerar en BSON-dokumentet, antingen det ingår i föraren själv eller från en tredje part, kan implementera detta gränssnitt och kan sedan användas på någon plats i API på hög nivå där ett BSON-dokument krävs. De tre klasserna som diskuteras framför allt implementerar detta gränssnitt och det kan också Användas utbytbart baserat på behoven hos en given applikation. Exempelvis. Readers och Writers. BSON serialisering och deserialiation. new BSON - Skapar en ny BSON seralizer deserializer som du kan använda för att serialisera och deserialisera BSON. BSON serialize-metoden tar ett javascript-objekt och Ett valfritt alternativobjekt och returnerar en buffert. Param objektet Javascript-objektet att serialisera. Param serializer kommer att kontrollera om nycklarna är giltiga. Param serialisera javascriptfunktionerna. Returnerar en buffertinstans. BSON serializeWithBufferAndIndex-metoden tar ett objekt, en målbuffertinstans och ett valfritt alternativobjekt och returnerar slutserialiseringsindexet i den slutliga bufferten. Buffert, alternativ. Param objektet Javascript-objektet att serialisera. Param buffert bufferten du fördelade för att lagra det serialiserade BSON-objektet. Param serializer kommer att kontrollera om nycklarna är giltiga. Param serialisera javascriptfunktionerna. Param ignorerar odefinierade fält. Param indexet i bufferten där vi vill börja serialisera in. Retur returnerar indexet som pekar mot den sista skriftliga byte i bufferten. BSON calculateObjectSize-metoden tar ett javascriptobjekt och ett valfritt alternativobjekt och returnerar storleken på BSON-objektet. Param objektet Javascript-objektet att serialisera. Param serialisera javascriptfunktionerna. Returnerar returnerar en buffertinstans. BSON deserialiseringsmetoden tar ett buffert och ett valfritt alternativobjekt och returnerar ett deserialiserat Javascript-objekt. Param utvärdera funktioner i BSON-dokumentet scoped till objektet deserialiserat. Param cache utvärderade funktioner för återanvändning. Param använder en crc32-kod för caching, annars använder du strängen av funktionen. Param när deserialisering av en Long kommer att passa in i ett nummer om det är mindre än 53 bitar. Param när deserialisering av en binär kommer att returnera den som en buffertinstans. Param när deserialisering kommer att främja BSON-värden till sina närmaste ekvivalenta typer. Param tillåter att ange om det finns vilka fält vi vill returnera som oserialiserad råbuffert. Param returnerar BSON regelbundna uttryck som BSONRegExp instanser. Retur returnerar nästa index i bufferten efter deserialisering x antal dokument. BSON deserializeStream-metoden tar en buffert, startIndex och tillåter mer kontroll över deserialisering av en buffert innehållande sammansatta BSON-dokument. StartIndex, numberOfDocuments, documents, docStartIndex, alternativ. Param buffert bufferten som innehåller den serialiserade uppsättningen BSON-dokument. Param startIndex startindex i databufferten där deserialiseringen ska startas. Param numberOfDocuments antal dokument för att deserialisera. Param dokumenterar en array där du vill lagra de deserialiserade dokumenten. Param docStartIndex indexet i dokumentmatrisen varifrån du ska börja lägga in dokument. Param utvärdera funktioner i BSON-dokumentet scoped till objektet deserialiserat. Param cache utvärderade funktioner för återanvändning. Param använder en crc32-kod för caching, annars använder du strängen av funktionen. Param när deserialisering av en Long kommer att passa in i ett nummer om det är mindre än 53 bitar. Param när deserialisering av en binär kommer att returnera den som en buffertinstans. Param när deserialisering kommer att främja BSON-värden till sina närmaste ekvivalenta typer. Param tillåter att ange om det finns vilka fält vi vill returnera som oserialiserad råbuffert. Param returnerar BSON regelbundna uttryck som BSONRegExp instanser. Retur returnerar de deserialiserade Javascript Object. Manage utvecklarteam med olika behörigheter och flera projekt Läs mer om privata paket och organisationer.

No comments:

Post a Comment