Docs Menu

Docs HomeDevelop ApplicationsAtlas Device SDK

Call a Function - Node.js SDK

On this page

  • Call a Function by Name

The examples in this section demonstrate calling a simple Atlas Function named sum that takes two arguments, adds them, and returns the result:

// sum: adds two numbers
exports = function(a, b) {
return a + b;
};

Important

Make sure to sanitize client data to protect against code injection when using Functions.

To call a function, you can either pass its name and arguments to User.callFunction() or call the function as if it was a method on the User.functions property.

Note

Link a MongoDB Atlas Data Source

This example requires an App Services App with a linked Atlas data source. Replace <appId> in the code with your App ID, which you can find in the left navigation menu of the App Services UI.

// wrap the code below in an async function to 'await' for the promises to resolve
const numA = 2;
const numB = 3;
const result = await user.functions.sum(numA, numB);
const resultOfCallFunction = await user.callFunction("sum", numA, numB); // alternate syntax to call a MongoDB Realm Function
console.log(
`Using the "functions.sum()" method: the sum of ${numA} + ${numB} = ${result}`
);
console.log(
`Using the "callFunction()" method: the sum of ${numA} + ${numB} = ${resultOfCallFunction}`
);

When you run the code sample, your output should resemble the following:

Using the "functions.sum()" method: the sum of 2 + 3 = 5
Using the "callFunction()" method: the sum of 2 + 3 = 5
←  Connect to an Atlas App Services Backend - Node.js SDKQuery MongoDB - Node.js SDK →