Navigation

Realm Web Quick Start

This page shows you how to connect the Realm Web SDK to a MongoDB Realm application, authenticate a user, and work with data. Before you begin, you'll need to create a Realm app for your web app to use.

Info With Circle IconCreated with Sketch.Note
Check Out the Tutorial

This page contains only the essential information that you need to set up a MongoDB Realm application. If you prefer to follow a guided tutorial that shows you step-by-step how to set up a working app, check out the Web Tutorial where you'll build a React web app that connects to the Task Tracker backend and uses the GraphQL API.

npm install realm-web

Near the top of any JavaScript or TypeScript file that uses Realm, add the following import statement:

import * as Realm from "realm-web";
Info With Circle IconCreated with Sketch.Note

If you loaded the SDK using a <script> tag then you don't need to import the SDK to use it. Instead, you can access it using the global Realm variable.

To use MongoDB Realm features such as user authentication and functions, you must access your Realm app using your App ID. You can find your App ID in the Realm UI.

const app: Realm.App = new Realm.App({ id: "<Your App ID>" });

When anonymous authentication is enabled, users can log into your app without providing any identifying information:

// Create an anonymous credential
const credentials = Realm.Credentials.anonymous();
try {
// Authenticate the user
const user: Realm.User = await app.logIn(credentials);
// `App.currentUser` updates to match the logged in user
assert(user.id === app.currentUser.id)
return user
} catch(err) {
console.error("Failed to log in", err);
}

Realm provides many additional ways to authenticate, register, and link users.

Bulb IconTip

To call a function, use the Realm.User.functions interface to call your serverless functions as if they were regular JavaScript functions defined on the object.

const summed: number = await user.functions.sum(2,3);
assert(summed === 5);

To execute CRUD operations and call custom resolvers through the GraphQL API, we recommend that you use a third-party GraphQL library such as Apollo Client. To authenticate your GraphQL request, include a valid user token in the Authorization header of the request.

Give Feedback