Skip to main content
Skip table of contents

Getting started with NoSQL Database Collection Definitions


A grid is displayed, listing all existing NoSQL database collection definitions:

Within the grid, the following read-only columns are displayed (see below for property details)

  • Name

  • Collection Name

  • Default

  • State: one of Added, Edited, Deleted or Unchanged.

When no NoSQL database collection definitions have been configured, an advisory message is displayed.

Selected NoSQL Database Collection Definition Details

This section displays the details of the NoSQL database collection definition selected currently in the list. If no definitions have been configured, an advisory message is displayed.

The sections contains a tabset, which contains Details and Definition tabs.

The Details tab contains the following properties:

  • Name: the unique name used to identify the definition. Name is mandatory, can be a maximum of 100 characters in length, and must be unique across all definitions.

  • Description: an optional property that can be a maximum of 1000 characters in length.

  • Default definition: this checkbox is unchecked by default. It allows you to define one of the definitions as default. When creating a new NoSQL selection rule, its NoSQL definition property will be set automatically to the default NoSQL collection definition.

  • NoSQL database: this dropdown property allows you to select a NoSQL database within which the collection referred to by the definition exists.

  • Collection name: this mandatory 100-character text field allows you to uniquely identify the NoSQL database collection.

  • Lookup key: this mandatory 100-character text field allows the name of the element used to uniquely identify a NoSQL entity within the collection to be provided. Lookup key is used to qualify realtime decisions, and when joining to other collections. Note that the value supplied must exist as a field name in the specified definition.

  • Use in-memory queries for realtime: this checkbox is unchecked by default. It allows you to specify that RPI Realtime should use in-memory queries to evaluate a rule instead of querying the database. When checked, the Always fetch at realtime checkbox is shown.

  • Always fetch at realtime: this checkbox is unchecked by default. It allows you to specify that, when using in-memory queries, RPI Realtime should always fetch the latest JSON document from the database. When unchecked, the Time to live in realtime cache property is shown.

  • Time to live in realtime cache: this property allows you specify the length of time for which data can be persisted in the visitor profile cache. It is set by default to 1 day.

  • Attribute folder: provision of an RPI file system folder is mandatory in this context. The folder provided is used to store parameter attributes to expose the collection's data elements when the definition is saved.

The Definition tab contains the following properties:

  • Toolbar: exposing the following:

    • View: two toggle buttons are shown:

      • Definition: displays the treeview when selected.

      • Raw JSON: displays a raw representation of the collection's JSON when selected.

    • Refresh: this button is enabled when a NoSQL database and Collection name have been provided. Clicking it populates the treeview and JSON definition with a best guess of the collection's schema. Note that, when manual changes have been made to the DisplayName or IsHidden properties, any such changes are not lost at invocation of Refresh.

  • Treeview: this property provides a read-only overview of the contents of the writeable JSON property.

After invocation of Refresh, the following are presented (in order):

  • Any nested collections within the main collection. You can expand collections to view the attributes therein.

  • Channel Suppressions collection: exposing the following attributes:

    • Suppression Name

    • Suppression Reason

    • Channel Execution ID

    • Suppression Date

  • Top-level collection attributes

For each attribute, the following are shown:

  • Display name (shown in bold)

  • Name

  • If the attribute is hidden, an icon is displayed to its right, and it appears in gray.

Any changes made in the JSON property are reflected at the treeview.

When hovering over an element within the treeview, an informational tooltip listing its properties, as sourced from the JSON document, is displayed.

Raw JSON: a writeable summary of the collection's contents.

You can remove or rename attributes as required. If an attribute is renamed, its new name is reflected when creating a criterion based on the attribute within a NoSQL selection rule.

List values are shown within an attribute if number thereof is less than or equal to system configuration setting AttributeValueListSize. You can add, update and remove list values as required.

An IsHidden property provides control over whether attributes can be used to create decision criteria within a NoSQL selection rule. The DisplayName property can be shown instead of an attribute’s Name when adding criteria.

The collection's definition is validated on invocation of Save. If the JSON is not valid, a validation error is displayed.

Parameter attributes defined by the definition are created and updated within the definition's Attribute folder. Any list values are refreshed at the same. Manual name changes are not reflected at parameter attributes, but changes to data type/length are.

Any nested collections' attributes are persisted in sub-folders created within the Attribute folder. A Channel Suppressions folder is also created in the same context (containing attributes as per the list above).

Note that when using a MongoDB NoSQL data warehouse, the collection’s ID column must be of data type ObjectID.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.