APIs de agregação e CRUD
Nesta página
- Visão geral
- Operações CRUD
- Operadores de Consulta
- Operadores de atualização
- Operações de gravação em massa
- Opções de query
- Agregação
- Métodos de agregação
- Disponibilidade do estágio do aggregation pipeline
- Disponibilidade do operador de aggregation pipeline
- Comandos de banco de dados
- Disponibilidade de Comando do Banco de Dados
Visão geral
Esta página lista o suporte à fonte de dados MongoDB para comandos MongoDB, operadores, opções e estágios de agregação.
Para informações sobre como ler e escrever dados no MongoDB a partir de uma função, consulte Query MongoDB Atlas.
Para mais informações sobre recursos e limitações suportados, consulte Limitações de Serviço.
Observação
O suporte para uma operação pode depender se você está executando a operação como usuário do aplicativo ou como usuário do sistema.
Uma função de usuário é executada no contexto de um usuário específico do aplicativo e impõe permissões de acesso a dados e validação de esquema, o que torna algumas operações insustentáveis.
Uma função do sistema é executada como um usuário genérico do sistema e não está sujeita a regras ou validação de esquema. Algumas operações só estão disponíveis nas funções do sistema.
Operações CRUD
Operadores de Consulta
O Atlas App Services é compatível com a maioria dosoperadores de query para queries executadas em uma função de usuário. No entanto, alguns operadores de avaliação e todos os operadores geoespaciais e bitwise estão disponíveis somente em funções do sistema.
Disponibilidade do operador de comparação
Disponibilidade lógica do operador
Disponibilidade do operador de array
(operação) | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim | |
Sim | Sim | |
Sim | Sim |
Disponibilidade do Operador de Elemento
Disponibilidade do operador de avaliação
Disponibilidade do operador geoespacial
(operação) | Função do usuário | Função do sistema |
---|---|---|
No | Sim | |
No | Sim | |
No | Sim | |
No | Sim |
Disponibilidade do operador no sentido horário
(operação) | Função do usuário | Função do sistema |
---|---|---|
No | Sim | |
No | Sim | |
No | Sim | |
No | Sim |
Operadores de atualização
O App Services oferece suporte à maioria dos operadores de atualização para queries que são executadas em uma função de usuário. No entanto, alguns operadores de atualização de array estão disponíveis somente em funções do sistema.
Disponibilidade do operador de atualização de campo
(operação) | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim |
Disponibilidade do operador de atualização da array
(operação) | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim |
Disponibilidade de modificadores de operador de atualização de array
Disponibilidade do operador de atualização do Bitwise
Operador | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim |
Operações de gravação em massa
Os serviços de aplicativos suportam operações de gravação em massa usando a mesma API que o driver do MongoDB Node.js
Dica
O App Services também fornece o método collection.bulkWrite()
para realizar operações de gravação em massa.
Disponibilidade da operação de gravação em massa solicitada
Você define as operações em massa ordenadas chamando collection.initializeOrderedBulkOp() e manipulando o objeto OrderedBulkOperation que ele retorna.
O App Services suporta os seguintes métodos do OrderedBulkOperation
:
(operação) | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim | |
Sim | Sim | |
Sim | Sim |
Disponibilidade de operação de gravação em massa não ordenada
Você define operações em massa não ordenadas chamando collection.initializeUnorderedBulkOp() e manipulando o objeto OrderedBulkOperation que ele retorna.
O App Services suporta os seguintes métodos do UnorderedBulkOperation
:
(operação) | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim | |
Sim | Sim | |
Sim | Sim |
Opções de query
O App Services não oferece suporte à configuração das seguintes opções para qualquer operação CRUD em funções de usuário. Todas as opções de query estão disponíveis em funções do sistema.
Disponibilidade da opção de query
Opção | Contexto do usuário | Contexto do sistema |
---|---|---|
No | Sim | |
No | Sim | |
No | Sim |
Agregação
Métodos de agregação
O Atlas App Services oferece suporte à agregação no nível do banco de dados e da coleção usando os seguintes comandos:
Disponibilidade do estágio do aggregation pipeline
Todos os estágios do agregação pipeline estão disponíveis para o usuário do sistema, exceto $indexStats
. No entanto, o App Services não oferece suporte aos seguintes estágios do agregação pipeline quando você run an agregação pipeline no contexto de um aplicação user.
(operação) | Notas |
---|---|
By default, $merge and $out route the entire aggregation operation tothe cluster's primary node. If you want to force these stages to respect your configured cluster read preference, set the enforceReadPref option totrue . | |
App Services performs $search operations as a system user andenforces field-level rules on the returned search results. This means that a user may search on a field for which they do not have read access. In this case, the search is based on the specified field but no returned documents include the field. The $$SEARCH_META aggregation variable is only available for functions that run as system or if the first role on the searched collection has its apply_when and read expressions set to true .If neither of these two scenarios apply, $$SEARCH_META is undefinedand the aggregation will fail. | |
Disponibilidade do operador de aggregation pipeline
Atlas App Services oferece suporte a todos os operadores de pipeline de agregação quando você executa um aggregation pipeline no contexto do usuário do sistema .
O App Services oferece suporte a todos os operadores de pipeline em um contexto de usuário do aplicativo, exceto os seguintes operadores:
Comandos de banco de dados
o App Services não suporta quaisquer comandos do banco de dados nos SDKs do cliente ou funções. No entanto, você pode chamar um subconjunto limitado de comandos do banco de dados quando conectado a um cluster MongoDB por meio do protocolo de conexão de App Services.
Os comando de banco de dados a seguir são parcialmente suportados pelo protocolo de conexão. As opções não suportadas para cada comando estão listadas abaixo.
Observação
Os aplicativos App Services não podem executar comandos no banco de dados do admin
.
Disponibilidade de Comando do Banco de Dados
Comando | Opções não Suportadas | Opções específicas de App Services |
---|---|---|
| ||
|
| |
| ||
| ||
| ||
|
[1] | O App Services oferece suporte a allowDiskUse quando executados em uma Função ou Trigger com permissões no nível do sistema. |