Chamar uma Função do Atlas
Nesta página
Você pode chamar uma Atlas Function de um aplicativo cliente usando o Atlas Device SDK para Flutter. Functions são funções JavaScript sem servidor que permitem definir e executar a lógica do lado do servidor. Estas funções do lado do servidor podem ser executadas no contexto do usuário autenticado e, portanto, honrar as regras, papéis e permissões que você atribuiu aos seus dados no Atlas.
Para mais informações sobre configurar e escrever Atlas Functions, consulte Atlas Functions na documentação do App Services.
Antes de começar
Em um App Services App, defina uma Atlas Function.
Em seu projeto do cliente, inicialize o cliente da aplicação.
Em seguida, autentique um usuário em seu projeto de cliente.
Chamar uma função
Para chamar uma função, chame User.functions.call(). Passe o nome da função como o primeiro argumento e todos os argumentos para a função em uma lista como o segundo argumento.
Para incluir objetos como argumentos para a função, converta-os em JSON primeiro. Você pode fazer isso usando o método jsonEncode() função incluída na dart:convert
biblioteca integrada.
A função retorna um valor dynamic
contendo MongoDB Extended JSON (EJSON) desserializado para um objeto Dart nativo.
final response = await user.functions.call("addition", [1, 2]); // convert EJSON response to Dart number print(response); final responseAsNum = num.tryParse(response["\$numberDouble"]); prints(responseAsNum); // prints 3
Exemplo
O código do cliente acima chama esta função do Atlas em execução em um aplicativo do App Services.
// Add two numbers exports = function(num1, num2){ return num1 + num2; };