Página inicial do Docs → Serviços Atlas App
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 oferece suporte à maioria dos operadores 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 |
---|---|---|
Não | Sim | |
Não | Sim | |
Não | Sim | |
Não | Sim |
Disponibilidade do operador no sentido horário
Operação | Função do usuário | Função do sistema |
---|---|---|
Não | Sim | |
Não | Sim | |
Não | Sim | |
Não | 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
Modificador | Função do usuário | Função do sistema |
---|---|---|
Sim | Sim | |
Sim | Sim | |
Sim | Sim | |
Sim | Sim |
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 coleção.initializeOrderedBulkOp() e manipulando a OrderedBulkOperation objeto 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 a OrderedBulkOperation objeto 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 |
---|---|---|
Não | Sim | |
Não | Sim | |
Não | 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
O App Services não oferece suporte aos seguintes estágios do aggregation pipeline quando você run an aggregation pipeline no contexto de um application user. Todos os estágios do aggregation pipeline estão disponíveis para o usuário do sistema, exceto $indexStats
.
Estágio | Contexto do usuário | Contexto do sistema |
---|---|---|
Não | Sim | |
Não | Sim | |
Não | Sim | |
Não | Sim | |
Não | Sim | |
Não | Não | |
Sim | Sim | |
Não | Sim | |
Não | Sim | |
ImportanteO App Services Observação$$SEARCH_META disponibilidade variávelA variável de agregação $$SEARCH_META está disponível somente para funções que executam como sistema ou se o primeiro papel na coleção pesquisada tiver suas expressões Se nenhum desses dois cenários se aplicar, | Sim | Sim |
Sim | Sim |
Observação
Por padrão, $merge
e $out
rotear toda a operação de agregação para o nó primário do cluster. Se você quiser forçar esses estágios a respeitar sua preferência de leitura de cluster configurada, defina a opção enforceReadPref
como true
.
Disponibilidade do operador de aggregation pipeline
O 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 aplicação usuário , exceto para 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 transferência de App Services.
Os comando de banco de dados a seguir são parcialmente suportados pelo protocolo de fio. 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. |