Menu Docs

NOVIDADES

Saiba mais sobre os novos recursos, melhorias e correções introduzidas nas seguintes versões da biblioteca PHP do MongoDB :

Importante

Mudanças de última hora

A versão da biblioteca PHP v2.0 introduz as seguintes alterações significativas:

  • Os métodos a seguir retornam void em vez da resposta bruta do comando:

    • MongoDB\Client: dropDatabase()

    • MongoDB\Collection: drop(), dropIndex(), dropIndexes(), dropSearchIndex(), rename()

    • MongoDB\Database: createCollection(), drop(), dropCollection(), renameCollection()

Para saber mais sobre as alterações significativas nesta versão, consulte a seção Alterações significativas da versão 2.0 no guia de atualizações da biblioteca de versões.

A versão da biblioteca PHP v2.0 inclui as seguintes alterações e remoções de API:

  • Adiciona os seguintes métodos:

    Os métodos Client::selectCollection(), Client::selectDatabase() e Database::selectCollection() serão descontinuados e substituídos por esses novos métodos em uma futura versão do driver, portanto, considere alterar os usos em seu aplicação.

  • Modifica os métodos MongoDB\Database::aggregate() e MongoDB\Collection::aggregate() para que eles possam aceitar uma instância Pipeline como o parâmetro $pipeline. Para visualizar exemplos que usam essa construção, consulte a seção Construtor de aggregation do guia Agregação.

  • Substitui dicas de tipo Cursor por CursorInterface para melhor extensibilidade e compatibilidade.

  • Remove campos obsoletos em tipos de GridFS .

    • A biblioteca não calcula o campo md5 quando um arquivo é carregado no GridFS. Se o seu aplicação exigir um resumo do arquivo, você deverá implementar esse processo fora do GridFS e armazenar os valores em metadados.

    • Os campos contentType e aliases não são mais armazenados na coleção files do GridFS. Se seu aplicação exigir essas informações, você deverá armazená-las em metadados. Para saber mais sobre o GridFS, consulte o guia Armazenar arquivos grandes.

  • Remove as seguintes opções obsoletas para operações de localização:

    • maxScan

    • modifiers

    • oplogReplay

    • snapshot

    Para saber mais sobre as opções compatíveis com operações de localização, consulte a MongoDB\Collection::find() MongoDB\Collection::findOne() documentação da API ou.

  • Remove o método IndexInfo::isGeoHaystack() obsoleto.

  • Remove as opções autoIndexId e flags obsoletas do método MongoDB\Database::createCollection().

  • Elimina o suporte para a funcionalidade de map-reduce removendo os seguintes métodos e tipos obsoletos:

    • MongoDB\Collection::mapReduce()

    • MongoDB\MapReduceResult

    Você pode reescrever operações de map-reduce usando agregação pipeline stages, como $group e $merge. Para saber mais, consulte Map-reduce to aggregation pipeline no manual do MongoDB Server.

  • Remove as seguintes implementações do Iterator:

    • MongoDB\Model\CollectionInfoIterator

    • MongoDB\Model\DatabaseInfoIterator

    • MongoDB\Model\IndexInfoIterator

    Os métodos MongoDB\Client::listDatabases(), MongoDB\Database::listCollections() e MongoDB\Collection::listIndexes() retornam uma instância geral traversable Iterator que fornece os resultados correspondentes.

A versão da biblioteca PHP v1.21 inclui as seguintes funcionalidades, melhorias e correções:

Para obter mais informações sobre as alterações nesta versão, consulte as 1.21 notas de versão v no Github.

Importante

MongoDB Server v3.6 Fim da vida útil

O suporte para MongoDB Server v3.6 foi removido nesta versão da biblioteca.

  • Adiciona suporte para MongoDB Server v8.0.

  • Adiciona suporte para queries de intervalo de Queryable Encryption (QE). Para usar esse recurso, seu aplicativo deve se conectar ao MongoDB Server 8.0 ou posterior. Para obter mais informações sobre queries de intervalo de QE, consulte Queryable Encryption no manual do MongoDB Server .

  • Quando uma operação de cluster fragmentado não é bem-sucedida, a biblioteca evita selecionar o mesmo servidor mongos para tentativas de repetição de operação se outros servidores mongos estiverem disponíveis.

  • Ao criar uma chave de dados KMIP, agora você pode especificar a opção delegated . Se essa opção estiver definida como true, o fornecedor de KMIP executará a criptografia e a descriptografia da chave de dados localmente, garantindo que a chave de criptografia nunca saia do servidor KMIP.

  • Adiciona a opção type nas especificações de índice de pesquisa para os métodos MongoDB\Collection::createIndex() e MongoDB\Collection::createSearchIndexes(). Esta alteração permite criar índices do Atlas Vector Search programaticamente. Para saber mais e ver exemplos, consulte o guia Índices de Atlas Search.

Para obter mais informações sobre as alterações nesta versão, consulte as 1.20 notas de versão v no Github.

Esta versão da biblioteca PHP não contém alterações significativas e foi adicionada para manter a paridade da versão com a extensão PHP.

  • Adiciona uma nova API GridFS para tornar mais conveniente trabalhar com arquivos usando as funções de sistema de arquivos existentes do PHP. O método MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias() pode ser utilizado para registrar um alias global para um bucket GridFS . Depois de fazer isso, os arquivos dentro desse bucket podem ser acessados usando apenas um URI de arquivo (por exemplo, "gridfs://mybucket/hello.txt"). Uma demonstração desta API pode ser encontrada no gridfs_stream_wrapper.php roteiro de exemplo .

  • Adiciona métodos MongoDB\Client::addSubscriber() e MongoDB\Client::removeSubscriber() à classe MongoDB\Client para facilitar o registro de classes de monitoramento com escopo definido para o objeto MongoDB\Driver\Manager subjacente.

Para saber mais sobre esta versão, consulte as Notas de versão do v1.18 no Github.

  • Apresenta uma nova API "codec" para converter BSON de e para objetos PHP. Mais informações sobre esse recurso podem ser encontradas no tutorial Codecs.

  • Adiciona funções MongoDB\add_logger() e MongoDB\remove_logger() à biblioteca. Essas funções permitem que os aplicativos registrem um PSR-3 Logger para receber mensagens de registro emitidas pelo motorista. Anteriormente, os registros só estavam disponíveis por meio do mongodb.debug da extensão INI Configuração .

  • Introduz novos métodos do MongoDB\Collection para criar e gerenciar índices de Atlas Search . Os índices do Atlas Search podem ser consultados usando o estágio de pipeline de agregação $search , que é suportado em todas as versões da biblioteca. Para saber mais sobre os índices do Atlas Search e as especificidades do estágio de agregação $search , consulte a documentação dos índices do Atlas Search e $search.

  • Atualiza o requisito de extensão mongodb para 1.17.0. O suporte para PHP 7.2 e 7.3 foi removido e a biblioteca agora requer PHP 7.4 ou mais recente.

Para saber mais sobre esta versão, consulte as Notas de versão do v1.17 no Github.