Thursday 16 November 2017

Org Bson Types Binário Opções


O driver inclui várias classes e interfaces usadas para a representação de documentos BSON. Embora geralmente não seja necessária pelos usuários da API de alto nível do driver, a classe BsonDocument é central para a maneira que os documentos são gerenciados internamente pelo driver A classe BsonDocument pode representar dinamicamente estruturado Documentos de qualquer complexidade com uma API de tipo seguro Por exemplo, o documento pode ser construído como um BsonDocument como segue. A segurança de tipo vem de BsonDocument implementando String de Mapa, BsonValue assim mesmo built-in tipos como int String e List deve ser embrulhado Em uma subclasse de BsonValue Para obter uma lista completa dos subtipos de BsonValue, consulte a documentação da API de BsonValue. A maioria das aplicações usará a classe de documento como BsonDocument. A classe Document pode representar documentos dinamicamente estruturados de qualquer complexidade. Muito mais flexível, como Document implementa Map String, Object Como resultado, o mesmo documento como acima pode ser construído usando o D Ocument classe como follows. There é menos código para escrever, mas erros de tempo de execução são possíveis se você adicionar inadvertidamente uma instância de um tipo de valor não suportado. Os tipos de valor mais comumente usados ​​são. É realmente possível alterar esses mapeamentos o mecanismo para fazê-lo Está coberto mais adiante nesta referência. Although não recomendado para novas aplicações, aqueles que actualizam a partir da série 2 x controlador podem continuar a utilizar a interface DBObject para representar documentos BSON DBObject é semelhante ao documento em que representa valores BSON como objecto mas tem um Algumas falhas que eram impossíveis de superar. é uma interface em vez de uma classe, por isso s API não pode ser estendido sem quebrar compatibilidade binária. não é realmente implementar Map String, Object. porque é uma interface, uma classe concreta separada Chamado BasicDBObject que implementa essa interface, é necessário. Para unir tudo isso, o driver contém uma pequena mas poderosa interface chamada Bson Qualquer classe que representa um B SON, seja incluído no próprio driver ou de terceiros, pode implementar essa interface e pode ser usado em qualquer lugar na API de alto nível onde um documento BSON é requerido. As três classes discutidas acima implementam essa interface e assim podem Ser usado de forma intercambiável com base nas necessidades de um determinado aplicativo Por exemplo. Readers e Writers. jsonutil Ferramentas para usar o módulo json do Python com documentos BSON. Tools para usar o módulo json do Python com documentos BSON. Este módulo fornece dois métodos auxiliares dumps e cargas Que envolvem os métodos json nativos e fornecem conversão BSON explícita de e para json Isso permite a codificação especializada e decodificação de documentos BSON em MongoDB Extended JSON s Strict modo Isso permite que você codificar documentos BSON de decodificação para JSON mesmo quando eles usam tipos especiais BSON. Exemplo Serialização uso. Exemplo utilização desserialização. Alternativamente, você pode manualmente passar o padrão para ele ganhou t lidar com binário e código instâncias como eles são estendidos Strings você não pode fornecer padrões personalizados, mas será mais rápido, pois há menos recursão. Se sua aplicação não precisa da flexibilidade oferecida pelo JSONOptions e gasta uma grande quantidade de tempo no módulo jsonutil, olhe para python-bsonjs para um bom Python-bsonjs é um rápido BSON para MongoDB Extended JSON conversor para Python construído em cima de libbson python-bsonjs funciona melhor com PyMongo ao usar RawBSONDocument. Changed na versão 2 8 O formato de saída para Timestamp mudou de para Este novo formato será Ser decodificado para uma instância de Timestamp O formato antigo continuará a ser decodificado para um python dict como antes Codificação para o formato antigo não é mais suportado como nunca foi correto e perde informações de tipo Adicionado suporte para numberLong e indefinido - novo no MongoDB 2 6 - e data de análise no formato ISO-8601. Alterado na versão 2 7 Preserva a ordem ao renderizar instâncias SON, Timestamp, Código, Binário e DBRef. Changed na versão 2 3 Adicionados dumps e loa Ds para lidar automaticamente com a conversão para e a partir do json e suporta Binary e Code. class DatetimeRepresentation LEGACY 0. MongoDB Leve MongoDB Extended JSON datetime representação. As instâncias serão codificadas para JSON no formato em que dateAsMilliseconds é um inteiro assinado de 64 bits que dá o número de milissegundos desde o UTC do Unix UTC Esta era a codificação padrão antes PyMongo versão 3 4.New na versão 3 4.NumberLong representação de data e hora. Instâncias serão codificadas para JSON no formato em que dateAsMilliseconds é a representação de seqüência de caracteres de um inteiro assinado de 64 bits, dando o número de milissegundos desde o Unix UTC. New na versão 3 4.ISO-8601 representação de data e hora. Instâncias maiores ou iguais à UTC Unix UTC serão codificadas para JSON nas instâncias de formato antes da UTC de Unix UTC será codificada como se a representação de data e hora for NUMBERLONG. New na versão 3 4.class JSONOptions. Encapsulates opções JSON para dumps e Loads. Raises ConfigurationError no Python 2 6 se simplejson não está instalado e documentclass não é o padrão dict. strictnumberlong Se True Int64 objetos são codificados para MongoDB Extended JSON s Strict tipo de modo NumberLong ie Caso contrário, eles serão codificados como um int Predefinições para False. Datetimerepresentation A representação a ser usada ao codificar instâncias de Defaults para LEGACY. strictuuid Se o objeto True é codificado para MongoDB Extended JSON s Tipo de modo Strict Binário Caso contrário, será codificado como Defaults para False. documentclass Os documentos BSON retornados por cargas serão decodificados em uma instância Desta classe Deve ser uma subclasse de Defaults para dict. uuidrepresentation A representação BSON para usar quando codificação e decodificação i Se o True Type MongoDB Extended JSON s Tipo de modo estrito Date será decodificado para instâncias de timezone cientes de Caso contrário eles serão naive Padrões para True. tzinfo Uma subclasse que especifica o fuso horário a partir do qual os objetos datetime devem ser decodificados Padrões para Utc. args argumentos para CodecOptions. kwargs argumentos para CodecOptions. New na versão 3 4. DEFAULTJSONOPTIONS JSONOptions strictnumberlong False, datetimerepresentation 0, strictuuid False, documentclass dict, tzaware True, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler strict, tzinfo objeto em 0x7feb78b44e50. O padrão JSONOptions para JSON codificação decoding. New na versão 3 4. STRICTJSONOPTIONS JSONOptions strictnumberlong True, datetimerepresentation 2, strictuuid Verdadeiro, documentclass dict, tzaware Verdadeiro, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler strict, tzinfo objeto em 0x7feb78b44e50.JSONOptions para MongoDB JSON estendido Codificação de modo estrito. Novo em Versão 3 4. Helper função que wraps. Recursive função que lida com todos os BSON tipos, incluindo Binary e Code. Specification Versão 1 1.BSON é um formato binário em que zero ou mais pedidos pares de valores chave são armazenados como uma única entidade Chamamos essa entidade de um documento. A gramática seguinte especifica a versão 1 1 do padrão BSON Nós escrevemos a gramática usando uma sintaxe pseudo-BNF Os dados BSON válidos são representados pelo documento não-terminal. Tipos Básicos. Os seguintes tipos básicos são usados ​​como terminais no restante da gramática Cada tipo deve ser serializado em formato little-endian.4 bytes inteiro assinado de 32 bits, dois s complementar.8 bytes inteiro assinado de 64 bits, dois s complementar.8 bytes 64-bit unsigned integer.8 bytes 64-bit IEEE 754 -2008 ponto flutuante binário.16 bytes 128-bit IEEE 754-2008 ponto flutuante decimal. O seguinte especifica o resto da gramática BSON Note que as cadeias entre aspas representam terminais e deve ser interpretado com semântica C por exemplo x01 representa o byte 0000 0001 Também Note isso T usamos o operador como abreviatura para repetição e g x01 2 é x01 x01 Quando usado como um operador unário, significa que a repetição pode ocorrer 0 ou mais times. int32 elist x00. X0B ename cstring cstring. Expressão regular - A primeira cstring é o padrão regex, a segunda é a seqüência de opções regex As opções são identificadas por caracteres, que devem ser armazenados em ordem alfabética As opções válidas são i para maiúsculas e minúsculas, X para o modo detalhado, l para fazer w, W, etc dependente da localidade, s para o modo dotall corresponde a tudo, e u para fazer w, W, etc match unicode. X0C ename string byte 12.DBPointer Deprecated. X0D ename string. X0E ename string. X0F ename codews. JavaScript código w escopo. X10 ename int32. X11 ename uint64. X12 ename int64. X13 ename decimal128.String - O int32 é o número de bytes no byte 1 para o final x00 O byte é zero ou mais caracteres codificados em UTF-8. Zero ou mais caracteres codificados UTF-8 modificados seguido por x00 O byte NÃO DEVE conter x00 , Portanto, ele não está cheio UTF-8.int32 subtipo byte. Binary - O int32 é o número de bytes no byte. Generic binário subtype. int32 string document. Array - O documento para uma matriz é um normal BSON documento com valores inteiros Para as chaves, começando com 0 e continuando seqüencialmente Por exemplo, a matriz vermelho, azul seria codificado como o documento As chaves devem estar em ordem numérica crescente. UTC datetime - O int64 é UTC milissegundos desde o Unix epoch. Timestamp - interno especial Tipo usado pela replicação MongoDB e sharding Primeiros 4 bytes são um incremento, segundo 4 são um timestamp. Min chave - Tipo especial que compara mais baixo que todos os outros possíveis valores de elemento BSON. Max key - Tipo especial que compara mais alto que todos os outros possíveis BSON elem Ent. O binário BSON ou tipo de dados BinData é usado para representar arrays de bytes É um pouco análogo à noção de Java de um ByteArray BSON Os valores binários têm um subtipo Isso é usado para indicar que tipo de dados está na matriz de bytes Subtipos de zero a 127 são predefinidos ou reservados Subtipos de 128-255 são definidos pelo usuário. X02 Binary Antigo - Isso costumava ser o subtipo padrão, mas foi depreciado em favor de x00 Drivers e ferramentas devem ter certeza de manipular x02 apropriadamente A estrutura dos dados binários a matriz de bytes no binário não-terminal deve ser um int32 seguido de Um byte O int32 é o número de bytes na repetição. X03 UUID Antigo - Usado para ser o subtipo UUID, mas foi reprovado em favor de x04 Drivers e ferramentas para idiomas com um tipo UUID nativo devem manipular x03 adequadamente. X80- xFF Subtipos definidos pelo usuário Os dados binários podem ser qualquer coisa. Código w escopo - O int32 é o comprimento em bytes de todo o valor de codews A seqüência de caracteres é código JavaScript O documento é um mapeamento de identificadores para valores, representando o escopo em que o A classe BsonDocument é fundamental para a forma como os documentos são gerenciados internamente pelo driver O BsonDocument Classe pode representar documentos dinamicamente estruturados de qualquer complexidade com uma API tipo-safe Por exemplo, o documento pode ser construído como um BsonDocument como segue. A segurança de tipo vem de BsonDocument implementando String de mapa, BsonValue assim mesmo built-in tipos como int String E lista devem ser embrulhados em uma subclasse de BsonValue Para obter uma lista completa dos subtipos BsonValue, consulte a documentação da API BsonValue. Mal uso a classe de documento ao invés como BsonDocument a classe Document pode representar dinamicamente documentos estruturados de qualquer complexidade no entanto, a digitação é muito mais flexível, como Document implementa Map String, Object Como resultado, o mesmo documento como acima pode ser construído usando a classe Document Como segue. Há menos código para escrever, mas erros de tempo de execução são possíveis se você inadvertidamente adicionar uma instância de um tipo de valor não suportado. Os tipos de valor mais comumente usados ​​são. É realmente possível alterar esses mapeamentos o mecanismo para fazer isso está coberto Mais tarde nesta referência. Although não recomendado para novas aplicações, aqueles que atualizam a partir da série de driver 2 x pode continuar a usar a interface DBObject para representar documentos BSON DBObject é semelhante ao documento em que representa valores BSON como objeto, mas tem algumas deficiências Que eram impossíveis de superar. É uma interface em vez de uma classe, por isso s API não pode ser estendido sem quebrar a compatibilidade binária. Doesn t realmente implementar Map String, Object. because é uma interface, uma classe concreta separada chamada BasicDBObject que implementa essa interface, é required. To amarrar todos estes juntos, o driver contém uma pequena mas poderosa interface chamada Bson Qualquer classe que representa um BSON documento, se incluído no próprio driver ou de um terceiro, pode implementar esta interface e pode então ser usado em qualquer lugar na API de alto nível onde um documento BSON é necessário As três classes discutidas acima de tudo implementar esta interface e assim pode Ser usado de forma intercambiável com base nas necessidades de um determinado aplicativo Por exemplo. Leaders e Writers. BSON serialização e desserialiation. new BSON - Cria um novo desserializador serializador BSON você pode usar para serializar e desserializar BSON. O método de serialização BSON leva um objeto javascript e Um objeto opções opcional e retorna um Buffer. Objeto param o objeto JavaScript para serializar. Param o serializador verificará se as chaves são válidas. Param serializar as funções javascript. Retorna retorna uma instância de buffer. O método serialiserWithBufferAndIndex do BSON recebe um objeto, uma instância de buffer de destino e um objeto de opções opcional e retorna o índice de serialização final no buffer final. Buffer, opções. Objeto param o objeto JavaScript para serializar. Param o Buffer pré-alocado para armazenar o objeto BSON serializado. Param o serializador verificará se as chaves são válidas. Param serializar as funções javascript. Param ignorar campos indefinidos. Param o índice no buffer onde queremos iniciar a serialização em. Return retorna o índice apontando para o último byte escrito no buffer. O método BSON calculateObjectSize leva um objeto javascript e um objeto opções opcional e retorna o tamanho do objeto BSON. Objeto param o objeto JavaScript para serializar. Param serializar as funções javascript. Retorna retorna uma instância de buffer. O método de desserialização BSON leva um Buffer e um objeto de opções opcional e retorna um objeto JavaScript desserializado. Param funções de avaliação no documento BSON escopo para o objeto desserializado. Param cache funções avaliadas para reuso. Param usar um código crc32 para cache, caso contrário, use a seqüência de caracteres da função. Param ao deserializar um Long irá ajustá-lo em um número se ele é menor que 53 bits. Param ao deserializar um binário irá retorná-lo como uma instância de buffer. Param quando a desserialização irá promover os valores BSON para os seus tipos equivalentes mais próximos. Param permitem especificar se há quais campos que desejamos retornar como buffer bruto não serializado. Param retornam expressões regulares BSON como instâncias BSONRegExp. Return retorna o próximo índice no buffer após a desserialização x números de documentos. O método BSON deserializeStream recebe um Buffer, startIndex e permite mais controle sobre desserialização de um Buffer contendo documentos BSON concatenados. StartIndex, numberOfDocuments, documentos, docStartIndex, opções. Param buffer o buffer contendo o conjunto serializado de documentos BSON. Param startIndex o índice de início no buffer de dados onde a desserialização é para iniciar. Param numberOfDocuments número de documentos a deserializar. Param documenta uma matriz onde armazenar os documentos desserializados. Param docStartIndex o índice na matriz de documentos de onde começar a inserir documentos. Param funções de avaliação no documento BSON escopo para o objeto desserializado. Param cache funções avaliadas para reutilização. Param usar um código crc32 para cache, caso contrário, use a seqüência de caracteres da função. Param ao deserializar um Long irá ajustá-lo em um número se ele é menor que 53 bits. Param ao deserializar um binário irá retorná-lo como uma instância de buffer. Param quando a desserialização irá promover os valores BSON para os seus tipos equivalentes mais próximos. Param permitem especificar se há quais campos que desejamos retornar como buffer bruto não serializado. Param retornam expressões regulares BSON como instâncias BSONRegExp. Return retorna as equipes JavaScript desserializadas JavaScript Object. Manage com permissões variadas e vários projetos Saiba mais sobre Pacotes Privados e Organizações.

No comments:

Post a Comment