Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex StoreDoc
  • Getting started
    • All guides
      • SQL queries in Yandex WebSQL
      • Managing databases
      • Managing database users
  • Access management
  • Inspections and recommendations
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes

In this article:

  • Getting a list of cluster databases
  • Getting database info
  • Creating a database
  • Updating database settings
  • Deleting a database
  1. Step-by-step guides
  2. Databases
  3. Managing databases

Managing databases in Yandex StoreDoc

Written by
Yandex Cloud
Updated at September 8, 2026
View in Markdown
  • Getting a list of cluster databases
  • Getting database info
  • Creating a database
  • Updating database settings
  • Deleting a database

You can add and remove databases, as well as view their details.

Getting a list of cluster databasesGetting a list of cluster databases

Management console
CLI
REST API
gRPC API
  1. In the management console, select a folder.
  2. Navigate to Yandex StoreDoc.
  3. Click the name of your cluster and select the Databases tab.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To get a list of cluster databases, run this command:

yc managed-mongodb database list
   --cluster-name <cluster_name>

You can get the cluster name with the list of clusters in the folder.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.List method, e.g., via the following cURL request:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<cluster_ID>/databases'
    

    You can get the cluster ID from the list of clusters in your folder.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the DatabaseService.List method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.DatabaseService.List
    

    You can get the cluster ID with the list of clusters in the folder.

  4. Check the server response to make sure your request was successful.

Getting database infoGetting database info

CLI
REST API
gRPC API

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To get information about a specific database:

  1. See the description of the CLI command for getting database info:

    yc managed-mongodb database get --help
    
  2. Get database info by running this command:

    yc managed-mongodb database get <DB_name> \
      --cluster-id=<cluster_ID>
    

    You can get the database name with the list of databases in the cluster, and the cluster ID, with the list of clusters in the folder.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Get method, e.g., via the following cURL request:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<cluster_ID>/databases/<DB_name>'
    

    You can get the cluster ID with the list of clusters in the folder, and the database name, with the list of databases in the cluster.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the DatabaseService.Get method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_name": "<DB_name>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.DatabaseService.Get
    

    You can get the cluster ID with the list of clusters in the folder, and the database name, with the list of databases in the cluster.

  4. Check the server response to make sure your request was successful.

Creating a databaseCreating a database

Note

You can create a maximum of 1000 databases in each cluster.

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select a folder.

  2. Navigate to Yandex StoreDoc.

  3. Click the cluster name.

  4. Select the Databases tab.

  5. Click Create database.

  6. Specify the database name and click Create.

    A database name may contain Latin letters, numbers, underscores, and hyphens. The name may be up to 63 characters long. Such names as config, local, admin, and mdb_internal are reserved for Yandex StoreDoc. You cannot create DBs with these names.

  7. Set up database protection against accidental deletion. The possible values are:

    • Same as cluster
    • Enabled
    • Disabled

    Deletion protection only works at the individual database level. Deleting a cluster will permanently remove all its databases, including those with deletion protection.

  8. To grant access to the new database, assign the relevant roles to the required cluster users.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To create a database in a cluster, run this command:

yc managed-mongodb database create <DB_name> \
  --cluster-name <cluster_name> \
  --deletion-protection=<protect_database_from_deletion>

Where:

  • <DB_name>: Database name.

    A database name may contain Latin letters, numbers, underscores, and hyphens. The name may be up to 63 characters long. Such names as config, local, admin, and mdb_internal are reserved for Yandex StoreDoc. You cannot create DBs with these names.

  • --cluster-name: Cluster name you can request with the list of clusters in the folder.

  • --deletion-protection: Database protection from accidental deletion, true or false. There is no default value; the database uses the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.

    Deletion protection only works at the individual database level. Deleting a cluster will permanently remove all its databases, including those with deletion protection.

  1. Open the current Terraform configuration file with the infrastructure plan.

    To learn how to create this file, see Creating a cluster.

  2. Add the yandex_mdb_mongodb_database resource:

    resource "yandex_mdb_mongodb_database" "<DB_name>" {
      cluster_id          = "<cluster_ID>"
      name                = "<DB_name>"
      deletion_protection = <protect_database_from_deletion>
    }
    

    Where:

    • cluster_id: Cluster ID you can request with the list of clusters in the folder.

    • name: Database name.

      A database name may contain Latin letters, numbers, underscores, and hyphens. The name may be up to 63 characters long. Such names as config, local, admin, and mdb_internal are reserved for Yandex StoreDoc. You cannot create DBs with these names.

    • --deletion-protection: Database protection from accidental deletion, true or false. There is no default value; the database uses the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.

      Deletion protection only works at the individual database level. Deleting a cluster will permanently remove all its databases, including those with deletion protection.

  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see this Terraform provider guide.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Create method, e.g., via the following cURL request:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<cluster_ID>/databases' \
      --data '{
                "databaseSpec": {
                  "name": "<DB_name>",
                  "deletionProtection": <protect_database_from_deletion>
                }
              }'
    

    Where:

    • <cluster_ID>: Cluster ID you can request with the list of clusters in the folder.

    • databaseSpec.name: Database name.

      A database name may contain Latin letters, numbers, underscores, and hyphens. The name may be up to 63 characters long. Such names as config, local, admin, and mdb_internal are reserved for Yandex StoreDoc. You cannot create DBs with these names.

    • databaseSpec.deletionProtection: Database protection from accidental deletion, true or false. There is no default value; the database will use the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.

      Deletion protection only works at the individual database level. Deleting a cluster will permanently remove all its databases, including those with deletion protection.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the DatabaseService.Create method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_spec": {
              "name": "<DB_name>",
              "deletion_protection": <protect_database_from_deletion>
            }
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.DatabaseService.Create
    

    Where:

    • cluster_id: Cluster ID you can request with the list of clusters in the folder.

    • database_spec.name: Database name.

      A database name may contain Latin letters, numbers, underscores, and hyphens. The name may be up to 63 characters long. Such names as config, local, admin, and mdb_internal are reserved for Yandex StoreDoc. You cannot create DBs with these names.

    • database_spec.deletion_protection: Database protection from accidental deletion, true or false. There is no default value; the database will use the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.

      Deletion protection only works at the individual database level. Deleting a cluster will permanently remove all its databases, including those with deletion protection.

  4. Check the server response to make sure your request was successful.

After you create a database, assign access permissions for it to correct cluster users.

Updating database settingsUpdating database settings

CLI
Terraform
REST API
gRPC API

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To update your database settings, run this command:

yc managed-mongodb database update <DB_name> \
   --cluster-name <cluster_name> \
   --deletion-protection=<protect_database_from_deletion>

Where:

  • <DB_name>: Database name you can request with the list of databases in the cluster.
  • --cluster-name: Cluster name you can request with the list of clusters in the folder.
  • --deletion-protection: Database protection from accidental deletion, true or false. There is no default value; the database uses the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.
  1. Open the current Terraform configuration file with the infrastructure plan.

    To learn how to create this file, see Creating a cluster.

  2. Locate the yandex_mdb_mongodb_database resource.

  3. To enable or disable user protection from accidental deletion, update the deletion_protection field value:

    resource "yandex_mdb_mongodb_database" "<DB_name>" {
      ...
      deletion_protection = <protect_database_from_deletion>
      ...
    }
    

    Where deletion_protection is database protection from accidental deletion: true or false. There is no default value; the database will use the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.

  4. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  5. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see this Terraform provider guide.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Update method, e.g., via the following cURL request:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
      --request PATCH \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<cluster_ID>/databases/<DB_name>' \
      --data '{
                "updateMask": "deletionProtection",
                "deletionProtection": <protect_database_from_deletion>
              }'
    

    Where:

    • <cluster_ID>: Cluster name you can request with the list of clusters in the folder.
    • <DB_name>: Database name you can request with the list of databases in the cluster.
    • updateMask: Comma-separated string of settings to update.
    • deletionProtection: Database protection from accidental deletion, true or false. There is no default value; the database will use the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.
  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the DatabaseService.Update method, e.g., via the following gRPCurl request:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_name": "<DB_name>",
            "update_mask": {
              "paths": [
                "deletion_protection"
              ]
            },
            "deletion_protection": <protect_database_from_deletion>
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.DatabaseService.Update
    

    Where:

    • cluster_id: Cluster ID you can request with the list of clusters in the folder.
    • database_name: Database name you can request with the list of databases in the cluster.
    • update_mask: List of settings to update as an array of strings (paths[]).
    • deletion_protection: Database protection from accidental deletion, true or false. There is no default value; the database will use the one from the corresponding cluster setting. If the protection is on (true), you cannot delete the database.
  4. Check the server response to make sure your request was successful.

Deleting a databaseDeleting a database

Note

Before you delete a database, disable its deletion protection.

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select a folder.
  2. Navigate to Yandex StoreDoc.
  3. Click the name of your cluster and select the Databases tab.
  4. Click in the relevant database row and select Delete.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To delete a database, run this command:

yc managed-mongodb database delete <DB_name>
   --cluster-name <cluster_name>

You can get the cluster name with the list of clusters in the folder.

  1. Open the current Terraform configuration file with the infrastructure plan.

    To learn how to create this file, see Creating a cluster.

  2. Remove the yandex_mdb_mongodb_database resource with the name of the database you want to delete.

  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see this Terraform provider guide.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Delete method, e.g., via the following cURL request:

    curl \
      --request DELETE \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<cluster_ID>/databases/<DB_name>'
    

    You can get the cluster ID from the list of clusters in your folder, and the database name from the list of databases in your cluster.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the DatabaseService.Delete method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_name": "<DB_name>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.DatabaseService.Delete
    

    You can get the cluster ID from the list of clusters in your folder, and the database name, from the list of databases in your cluster.

  4. Check the server response to make sure your request was successful.

Warning

If you plan to create a new database with the same name, wait for the deletion to complete. Otherwise, the system will restore the original database. You can check the operation status in the list of cluster operations.

Was the article helpful?

Previous
SQL queries in Yandex WebSQL
Next
Managing database users
© 2026 Direct Cursus Technology L.L.C.