Call a Function - Node.js SDK
On this page
Atlas Device SDKs are deprecated. Refer to the deprecation page for details.
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; };
Call a Function by Name
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