NOVIDADES
Nesta página
Saiba mais sobre os novos recursos, melhorias e correções introduzidas nas seguintes versões da biblioteca PHP do MongoDB :
Novidades no 2.0
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:
MongoDB\Client::getDatabase()
: alias paraMongoDB\Client::selectDatabase()
MongoDB\Client::getCollection()
: alias paraMongoDB\Client::selectCollection()
MongoDB\Database::getCollection()
: alias paraMongoDB\Database::selectCollection()
Os métodos
Client::selectCollection()
,Client::selectDatabase()
eDatabase::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()
eMongoDB\Collection::aggregate()
para que eles possam aceitar uma instânciaPipeline
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
porCursorInterface
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
ealiases
não são mais armazenados na coleçãofiles
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
eflags
obsoletas do métodoMongoDB\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()
eMongoDB\Collection::listIndexes()
retornam uma instância geral traversableIterator
que fornece os resultados correspondentes.
Novidades no 1.21
A versão da biblioteca PHP v1.21 inclui as seguintes funcionalidades, melhorias e correções:
Apresenta o Aggregation Builder, uma API para criar agregação pipelines de uma forma mais segura de tipo. Para saber mais e ver exemplos, consulte a seção Construtor de aggregation do guia Agregação.
Adiciona os seguintes métodos:
MongoDB\Client::getDatabase()
: alias paraMongoDB\Client::selectDatabase()
MongoDB\Database::getCollection()
: alias paraMongoDB\Database::selectCollection()
MongoDB\Database::getCollection()
: alias paraMongoDB\Database::selectCollection()
Os métodos
Client::selectCollection()
,Client::selectDatabase()
eDatabase::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.Adiciona argumentos nomeados para as classes de construtor
SearchStage
,VectorSearchStage
eSearchMetaStage
. Esta alteração permite que você escreva queries do Atlas Search e do Atlas Vector Search de uma forma mais segura de tipo e organizada. Para saber mais, consulte os guias Atlas Search e Atlas Vector Search.Descontinua a opção
flags
, usada para o mecanismo de armazenamento MMAPv1 obsoleto. Esta opção será removida na biblioteca PHP v2.0.Adiciona uma opção de classificação aos métodos
MongoDB\Collection::updateOne()
eMongoDB\Collection::replaceOne()
. Essa alteração também permite que você defina uma ordem de classificação como uma opção ao executar operações de atualização e substituição em uma operação em massa.Adiciona a opção
builderEncoder
aos seguintes métodos:
Para obter mais informações sobre as alterações nesta versão, consulte as 1.21 notas de versão v no Github.
Novidades no 1.20
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 servidoresmongos
estiverem disponíveis.Ao criar uma chave de dados KMIP, agora você pode especificar a opção
delegated
. Se essa opção estiver definida comotrue
, 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étodosMongoDB\Collection::createIndex()
eMongoDB\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.
Novidades no 1.19
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.
Novidades no 1.18
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()
eMongoDB\Client::removeSubscriber()
à classeMongoDB\Client
para facilitar o registro de classes de monitoramento com escopo definido para o objetoMongoDB\Driver\Manager
subjacente.
Para saber mais sobre esta versão, consulte as Notas de versão do v1.18 no Github.
Novidades no 1.17
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()
eMongoDB\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ãoINI
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.