MongoDB Remote Access - iOS SDK

Query data stored in MongoDB directly from your client application code with the MongoDB query language by using MongoDB Realm's MongoClient. MongoDB Realm provides data access rules for collections to securely retrieve results based on the logged-in user or the content of each document.

Before you can remotely access mongodb, you must:

You can access your linked data source using the currently logged-in user's mongoClient. The serviceName parameter is the name you gave the data source when linking it (by default, this is "mongodb-atlas").


The following code snippet requires that the user is already authenticated.

// mongodb-atlas is the cluster service name
let client = app.currentUser!.mongoClient("mongodb-atlas")
// Select the database
let database = client.database(named: "tracker")
// Select the collection
let collection = database.collection(withName: "Task")
// Using the user's id to look up tasks
let user = app.currentUser!
let identity =
// Run the query
collection.find(filter: ["_partition": AnyBSON(identity)], { (result) in
// Note: this completion handler may be called on a background thread.
// If you intend to operate on the UI, dispatch back to the main
// thread with `DispatchQueue.main.async {}`.
switch result {
case .failure(let error):
// Handle errors
print("Call to MongoDB failed: \(error.localizedDescription)")
case .success(let documents):
// Print each document
documents.forEach({(document) in
document.forEach({ (key, value) in
print(" key: \(key), value: \(value!)")
Give Feedback