Developer Guide Help

MongoDB Data Structure

This document page explains the database structure, schema, and data model of the MongoDB database used in the project.

Collections

MongoDB is a NoSQL database without a schema. This means that the data within may be of various formats, and some collections (equivalent to tables in SQL) may not be present if they are not required. The collections are created on demand, and the schema is flexible.

The database consists of the following collections:

  • counter: Records the count of Nexus networks. This is to remain compatible with CV2, as it uses a integer for network IDs.

  • datafiles: Stores the information on data files uploaded by the admins for discovery.

  • instance.config: Stores the configuration of the instance, such as the name, description, and other settings. This is the main runtime configuration of the instance.

  • log.internal: Stores logs generated by frontend, which are then reported to backend via dedicated API. These error logs are meant for developers to understand the issues faced by users.

  • network.beacon: Stores the BEACON endpoints configurations.

  • network.groups: Stores the discovery groups (for permission control) locally

  • network.nodes: Stores all known nodes within all networks

  • network.nodes.pending: Stores all nodes awaiting approval within all networks

  • network.networks: Stores all networks

  • network.messages: Stores all network messages. This collection is cleaned up periodically.

  • nexus.credentials

  • nexus.installations

  • nexus.networks

  • nexus.requests

  • pipelines

  • query.queries

  • query.responses

  • sources

  • sources.some_uuid

  • sources.meta

  • user.info

  • user.requests

Last modified: 03 September 2024