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
In an App Services App, define an Atlas Function.
In your client project, initialize the App client.
Then, authenticate a user in your client project.
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 librería.
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
The above client code call this Atlas Function running in an App Services App.
// Add two numbers exports = function(num1, num2){ return num1 + num2; };