Docs 菜单

Docs 主页开发应用程序Atlas Device SDKs

调用 Atlas Function

在此页面上

  • 开始之前
  • 调用函数

您可以使用 Realm Flutter SDK 从客户端应用程序调用Realm 函数 。函数是无服务器 JavaScript 函数,可让您定义和执行服务器端逻辑。 这些服务器端函数可以在经过身份验证的用户上下文中运行,从而遵守您在 Atlas 中为数据分配的规则、角色和权限。

有关配置和编写 Atlas Function 的更多信息,请参阅App Services 文档中的 Atlas Function。

  1. 在 App Services App 中,定义 Atlas Function。

  2. 在客户端项目中,初始化 App 客户端。

  3. 然后,对客户端项目中的用户进行身份验证

要调用函数,请调用 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;
};
← Atlas GraphQL API