Puedes llamar a una función de Atlas desde una aplicación cliente usando el SDK de dispositivos Atlas para Flutter. Las funciones son funciones JavaScript sin servidor que te permiten definir y ejecutar lógica del lado del servidor. Estas funciones del lado del servidor pueden ejecutarse en el contexto del usuario autenticado y, por lo tanto, respetar las reglas, roles y permisos que hayas asignado a tus datos en Atlas.
Para obtener más información sobre cómo configurar y escribir funciones Atlas, consulte Funciones de Atlas en la documentación de App Services.
Antes de comenzar
En una aplicación de servicios de aplicaciones, defina una función Atlas.
En su proyecto cliente, inicialice el cliente de la aplicación.
Luego, autentique un usuario en su proyecto cliente.
Llamar a una función
Para llamar a una función, llame a User.functions.call(). Pase el nombre de la función como primer argumento y todos los argumentos de la función en una lista como segundo argumento.
Para incluir objetos como argumentos de la función, primero conviértalos a JSON. Puede hacerlo usando la función jsonEncode() incluida en el archivo integrado. dart:convert biblioteca.
La función devuelve un valor dynamic que contiene MongoDB Extended JSON (EJSON) deserializado a un 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
Ejemplo
El código de cliente anterior llama a esta función Atlas que se ejecuta en una aplicación de servicios de aplicaciones.
// Add two numbers exports = function(num1, num2){ return num1 + num2; };