Configure File Metadata

On this page


You can configure a file’s metadata attributes to describe aspects of the file, such as its content type, language, or encoding. You can also use metadata attributes to configure the CDN’s caching behavior and specify how clients should handle files when they access them.


If you do not specify a Content-Type attribute for a file, MongoDB Realm will attempt to automatically add a Content-Type attribute to it based on the file extension.

For example, Realm would automatically add the attribute Content-Type: application/html to the file myPage.html.



Add a New Attribute

Once you have found the file, you need to add a new metadata attribute to it. To add a new metadata attribute:

  1. Click the file’s Actions (…) button.
  2. Click Edit Attributes…
  3. In the Set Attributes modal, click Add Attribute.

Select the Attribute Type and Value

The new metadata attribute will not have a type or value when you first add it.

  1. Select the attribute type from new attribute’s left-hand dropdown
  2. Enter a value for the attribute in the right-hand input box.
  3. Click Save.

Export Your Realm Application

To add metadata attributes to hosted files with realm-cli you need to export an application directory for your application.

You can export your application from the Export tab of the Settings page in the Realm UI, or by running the following command from an authenticated instance of realm-cli:

realm-cli export --app-id=<App ID>

Add Attributes to the Metadata Configuration File

The metadata for all hosted files associated with your application is configured by an array of metadata attribute definition objects that you define in a file named metadata.json in your application’s hosting subdirectory.

MongoDB Realm will automatically infer and assign a Content-Type to every file you upload. If you you want to override the default Content-Type or specify additional metadata attributes for a file, add an entry to metadata.json for the file and attributes that you want to configure. Each file’s entry should be a document with the following form:

    "path": "<File Resource Path>",
    "attrs": [
       <Attribute Definition>
Field Description
path Required. The resource path of the file.

Required. An array of documents where each document represents a single metadata attribute. Attribute documents have the following form:

Metadata Attribute Document
  "name": "<Attribute Type>",
  "value": "<Attribute Value>"
Field Description
name The name of the metadata attribute. This should be one of the file metadata attributes that Realm supports.
value The value of the metadata attribute.


If you include an entry in metadata.json for a file that does not exist, you will not be able to import your changes. Ensure that only hosted files are represented in metadata.json.


Import the File Metadata Configuration

Once you have added all the metadata attributes you want to configure to metadata.json, you can import the application directory to actually update the associated file metadata.

Navigate to the root of the application directory and run the following command:

realm-cli import --include-hosting