调用 Atlas Function
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
您可以使用适用于 Flutter 的 Atlas Device SDK 从客户端应用程序调用Atlas Function 。 函数是无服务器 JavaScript 函数,可让您定义和执行服务器端逻辑。 这些服务器端函数可以在经过身份验证的用户上下文中运行,从而遵守您在 Atlas 中为数据分配的规则、角色和权限。
有关配置和编写Atlas Function 的详细信息,请参阅 App Services 文档中的 App Services Atlas 。
开始之前
在 App Services App 中,定义 Atlas Function。
在客户端项目中,初始化 App 客户端。
然后,对客户端项目中的用户进行身份验证。
调用函数
要调用函数,请调用 User.functions.call() 。将函数名称作为第一个参数传递,并将列表中函数的所有参数作为第二个参数传递。
要将对象作为参数包含在函数中,请先将其转换为 JSON。 您可以使用 jsonEncode() 函数包含在内置dart:convert
库中。
该函数返回一个dynamic
值,其中包含反序列化为原生 Dart 对象的MongoDB 扩展 JSON (EJSON) 。
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
例子
上述客户端代码将此 Atlas Function 称为在 App Services App 中运行的 Atlas Function。
// Add two numbers exports = function(num1, num2){ return num1 + num2; };