Files
help365/platform/mongodb.html
koziavin 00717a92fb
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s
update
2025-05-29 16:42:45 +04:00

340 lines
31 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<title>MongoDB</title>
<meta name="generator" content="Help+Manual" />
<meta name="keywords" content="" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="For the correct operation of the system, MongoDB version 3.6 to 6.0 is required. This article describes how to:" />
<meta name="picture" content="" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
<meta property="og:url" content="https://brix365.com/en/help" />
<meta property="og:image" content="" />
<link rel="icon" href="favicon.png" type="image/png" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./jquery-ui.min.css" />
<link rel="stylesheet" href="default.css" />
<link rel="stylesheet" href="./search-yandex.css" />
<link rel="stylesheet" href="./article.css" />
<link rel="stylesheet" href="./glossary.css" />
<link rel="stylesheet" href="./theme.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="helpman_settings.js"></script>
<script type="text/javascript" src="helpman_topicinit.js"></script>
<script type="text/javascript" src="highlight.js"></script>
<script type="text/javascript">
$(document).ready(function(){highlight();});
</script>
</head>
<body>
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
<header class="header elma-365">
<div class="container">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-en.svg" alt="header logo">
</a>
<!-- <div class="hero__search-form" id="search-panel">
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
<label class="search-form__label">
<span id="reset-search" class="search__icon"></span>
<input class="search-form__input" type="text">
</label>
<input class="search-form__submit" type="submit" value="Submit">
</form>
</div> -->
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
<div class="hero__search">
<a href="#" id="search-icon" class="hero__search-icon">
<img src="search-icon-white.svg" alt="search string">
</a>
<a href="#" id="side-menu-icon" class="hero__side-icon">
<img src="side_menu.svg" alt="side menu">
</a>
</div>
<div class="header__navi">
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
</div>
</div>
</header>
<main class="main container">
<aside class="sidebar" id="sidebar">
<div class="sidebar__header">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-light-en.svg">
</a>
<span class="sidebar__close elma-365-close" id="close"></span>
</div>
<div class="sidebar__wrapper" id="side-menu">
</div>
</aside>
<article class="article" id="article">
<div class="article-inner">
<div class="content">
<header class="article__header">
<div class="article__bread" style="display:flex; gap:10px;">
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
<div class="topic__breadcrumbs">
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> &gt; <a href="infrastructure-preparation.html">Prepare infrastructure</a> &gt; Databases &gt; Prepare external databases / MongoDB</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">MongoDB</span></h1>
</div>
</header>
<section class="article__content">
<div class="scroll-top-inner">
<a href="#h1-article" class="scroll-top"></a>
</div>
<!-- Placeholder for topic body. -->
<p class="p_Normal">For the correct operation of the system, MongoDB version 3.6 to 6.0 is required. This article describes how to:</p>
<ul style="list-style-type:disc">
<li class="p_Normal">Install MongoDB 6.0 for Ubuntu Linux 22.04.</li><li class="p_Normal"><a href="mongodb.html#prepare-to-restore" class="topiclink">Prepare a MongoDB database for restoration</a>.</li></ul>
<p class="p_Normal">You can also refer to the brief guide in the <a href="https://www.mongodb.com/docs/manual/installation/" target="_blank" class="weblink">official MongoDB documentation</a>.</p>
<p class="p_Normal">If you are installing MongoDB 5.0, keep in mind that this version requires using an AVX set of instructions. Check their availability by running the following command:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">cat&nbsp;/proc/cpuinfo&nbsp;|&nbsp;grep&nbsp;avx</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание&nbsp;</span></p>
<p class="p_Normal" style="line-height: 1.57;"><span style="font-size: 15px;">In this example, the database name is </span><span style="font-size: 15px; font-weight: bold;">elma365</span><span style="font-size: 15px;">, the user is </span><span style="font-size: 15px; font-weight: bold;">elma365</span><span style="font-size: 15px;">, and the password is </span><span style="font-size: 15px; font-weight: bold;">SecretPassword</span><span style="font-size: 15px;">. When configuring MongoDB, set these data according to the security policy adopted in your organization.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<p class="p_Normal">Installation consists of six steps:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal"><a href="mongodb.html#installation" class="topiclink">Install MongoDB</a>.</li><li value="2" class="p_Normal"><a href="mongodb.html#add_db" class="topiclink">Configure MongoDB</a>.</li><li value="3" class="p_Normal"><a href="mongodb.html#connection-setup" class="topiclink">Configure connection to MongoDB</a>.</li><li value="4" class="p_Normal"><a href="mongodb.html#replica-initial" class="topiclink">Initialize the replica</a>.</li><li value="5" class="p_Normal"><a href="mongodb.html#connection" class="topiclink">Connect to MongoDB</a>.</li></ol>
<h2 class="p_Heading2"><a id="installation" class="hmanchor"></a><span class="f_Heading2">Step 1: Install MongoDB</span></h2>
<p class="p_Normal">To install MongoDB, add the official repository:</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">sudo apt-get install gnupg</span><br />
<span class="f_CodeExample">curl -fsSL https:</span><span class="f_CodeExample">//pgp.mongodb.com/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor</span><br />
<span class="f_CodeExample">echo &quot;deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse&quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list</span><br />
<span class="f_CodeExample">sudo apt-get update</span></p>
<p class="p_Normal">Then install MongoDB:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;apt&nbsp;install&nbsp;mongodb-org</span></p>
<p class="p_Normal">Run MongoDB:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;enable&nbsp;--now&nbsp;mongod</span></p>
<h2 class="p_Heading2"><a id="add_db" class="hmanchor"></a><span class="f_Heading2">Step 2: Configure MongoDB</span></h2>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Начало&nbsp;примечание</span></p>
<p class="p_Normal"><span style="font-weight: bold;">Note</span></p>
<p class="p_Normal">The password can contain the following characters:</p>
<ul style="list-style-type:disc">
<li class="p_Normal">Uppercase Latin letters: A to Z</li><li class="p_Normal">Lowercase Latin letters: a to z</li><li class="p_Normal">Digits: 0 to 9</li><li class="p_Normal">Symbols: -_</li></ul>
<p class="p_Normal">Reserved (invalid) characters: ! * ' ( ) ; : @ &amp; = + $ , / ? % # [ ]</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Конец&nbsp;примечание</span></p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Access <span style="font-weight: bold;">mongosh</span> (Command Line Interface) and create a database:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">mongosh</span></p>
<ol style="list-style-type:upper-roman">
<li value="2" class="p_Normal"><a id="create-db" class="hmanchor"></a>Use the I database. If it doesn't exist, create it:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">use&nbsp;BRIX</span></p>
<ol style="list-style-type:upper-roman">
<li value="3" class="p_Normal">Create a dedicated user, <span style="font-weight: bold;">elma365</span>, to work with the database, with the password <span style="font-weight: bold;">SecretPassword</span>. Username and password are provided as an example:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">db.createUser({user:'elma365',&nbsp;pwd:'SecretPassword',&nbsp;roles:[{role:&quot;readWrite&quot;,&nbsp;db:&quot;elma365&quot;},{&quot;role&quot;:&quot;root&quot;,&nbsp;&quot;db&quot;:&quot;admin&quot;}]})</span></p>
<ol style="list-style-type:upper-roman">
<li value="4" class="p_Normal">Make sure that the user is created:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">show&nbsp;users</span></p>
<ol style="list-style-type:upper-roman">
<li value="5" class="p_Normal">To enable authentication, create a superuser:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">use&nbsp;admin</span><br />
<span class="f_CodeExample">db.createUser({user:'superuser',&nbsp;pwd:'SecretPassword',&nbsp;roles:&nbsp;[&quot;root&quot;]})</span></p>
<ol style="list-style-type:upper-roman">
<li value="6" class="p_Normal">Make sure that the user is created:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">show&nbsp;users</span></p>
<ol style="list-style-type:upper-roman">
<li value="7" class="p_Normal">Complete the configuration:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">exit</span></p>
<ol style="list-style-type:upper-roman" start="8">
<li value="8" class="p_Normal">Create a file with a general authentication key, set access to the file:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">openssl&nbsp;rand&nbsp;-base64&nbsp;756&nbsp;&gt;&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/mongodb/keyfile</span><br />
<span class="f_CodeExample">chmod&nbsp;400&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/mongodb/keyfile</span><br />
<span class="f_CodeExample">chown&nbsp;mongodb:mongodb&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/mongodb/keyfile</span></p>
<ol style="list-style-type:upper-roman" start="8">
<li value="9" class="p_Normal">Enable secure access to the MongoDB server.</li></ol>
<p class="p_Normal">To do that, edit the <code><b>/etc/mongod.conf</b></code> file:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">.&nbsp;.&nbsp;.</span><br />
<span class="f_CodeExample">setParameter:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;enableLocalhostAuthBypass:&nbsp;false</span><br />
<span class="f_CodeExample">security:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;authorization:&nbsp;&quot;enabled&quot;</span><br />
<span class="f_CodeExample">keyFile:&nbsp;/var/lib/mongodb/keyfile</span><br />
<span class="f_CodeExample">.&nbsp;.&nbsp;.</span></p>
<ol style="list-style-type:upper-roman" start="10">
<li value="10" class="p_Normal">Restart MongoDB:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;restart&nbsp;mongod</span></p>
<h2 class="p_Heading2"><a id="connection-setup" class="hmanchor"></a><span class="f_Heading2">Step 3: Configure connection to MongoDB</span></h2>
<p class="p_Normal">Make changes to the configuration file <code><b>/etc/mongod.conf</b></code>:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;nano&nbsp;/etc/mongod.conf</span></p>
<p class="p_Normal">Configure the values for:</p>
<ul style="list-style-type:disc">
<li class="p_Normal"><code><b>bindIp</b></code> is a list of addresses from which connections on port 27017 can be accepted (in this case, it makes the MongoDB service available from all external addresses);</li><li class="p_Normal"><code><b>replSetName</b></code> is the name of the replica set, by default it is <span style="font-weight: bold;">&quot;rs0&quot;</span></li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">.&nbsp;.&nbsp;.</span><br />
<span class="f_CodeExample">#&nbsp;network&nbsp;interfaces</span><br />
<span class="f_CodeExample">net:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;port:&nbsp;27017</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;bindIp:&nbsp;0.0.0.0</span><br />
<span class="f_CodeExample">.&nbsp;.&nbsp;.</span><br />
<span class="f_CodeExample">replication:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;replSetName:&nbsp;&quot;rs0&quot;</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;enableMajorityReadConcern:&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample">.&nbsp;.&nbsp;.</span></p>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Configuring TLS/SSL in MongoDB</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">&nbsp;<br />
To enable TLS/SSL support in MongoDB, follow these steps:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal">Prepare a fullchain certificate. See the <a href="fullchain-sertificate.html" class="topiclink">Create a fullchain certificate</a> article for instructions on how to do this.</li><li value="2" class="p_Normal">Copy the contents of the <span style="font-weight: bold;">your_domain.key</span> private key into <span style="font-weight: bold;">mongodb.pem</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">cat&nbsp;your_domain.key&nbsp;&gt;&nbsp;mongodb.pem</span></p>
<ol style="list-style-type:decimal" start="3">
<li value="3" class="p_Normal">Copy the contents of the fullchain certificate into <span style="font-weight: bold;">mongodb.pem</span>.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">cat&nbsp;fullchain_your_domain.pem&nbsp;&gt;&gt;&nbsp;mongodb.pem</span></p>
<ol style="list-style-type:decimal" start="4">
<li value="4" class="p_Normal">Add a configuration block for net on each node. In the <span style="font-weight: bold;">net.tls.certificateKeyFile</span> parameter, specify the path to the <span style="font-weight: bold;">PEM</span> file containing the fullchain certificates and associated private keys. Each node has unique domain names, and certificates must be issued for each node.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">net:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;tls:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;mode:&nbsp;requireTLS</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;certificateKeyFile:&nbsp;/path/to/mongodb.pem</span></p>
<p class="p_Normal">&nbsp;<br />
For more detailed information on configuring TLS/SSL in MongoDB, refer to the <a href="https://www.mongodb.com/docs/v5.0/tutorial/configure-ssl/" target="_blank" class="weblink">official MongoDB documentation</a>.</p>
</td>
</tr>
</table>
</div>
<p class="p_Normal">Restart MongoDB to apply the changes:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;restart&nbsp;mongod</span></p>
<h2 class="p_Heading2"><a id="replica-initial" class="hmanchor"></a><span class="f_Heading2">Step 4: Initialize the replica</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Open the <span style="font-weight: bold;">mongosh</span> console for configuration.</li></ol>
<p class="p_Normal">To connect to MongoDB:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;mongosh&nbsp;-u&nbsp;superuser&nbsp;admin</span></p>
<p class="p_Normal">To connect to MongoDB with TLS/SSL enabled:</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">sudo mongosh -u superuser --tls --host mongodb-server1.your_domain --tlsCAFile /etc/ssl/CA.pem</span></p>
<ol style="list-style-type:upper-roman">
<li value="2" class="p_Normal" style="line-height: 1.20;">Initialize the replica:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">rs.initiate({&nbsp;_id:&nbsp;&quot;rs0&quot;,&nbsp;members:&nbsp;[{&nbsp;_id:&nbsp;0,&nbsp;host:&nbsp;&quot;&lt;mongodb-server-address&gt;&quot;&nbsp;}]})</span></p>
<ol style="list-style-type:upper-roman">
<li value="3" class="p_Normal" style="line-height: 1.20;">Check the <span style="font-weight: bold;">replicaSet</span> configuration:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">rs.conf()</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Check the state of MongoDB:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">rs.status()</span></p>
<h2 class="p_Heading2"><a id="connection" class="hmanchor"></a><span class="f_Heading2">Step 5: Connect to MongoDB</span></h2>
<p class="p_Normal">Connection string for MongoDB:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">mongodb://elma365:SecretPassword@&lt;mongodb-server-address&gt;:27017/elma365?ssl=false&amp;replicaSet=rs0&amp;readPreference=nearest</span></p>
<p class="p_Normal">Connection string for MongoDB with TLS/SSL:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">mongodb://elma365:SecretPassword@mongodb-server.your_domain:27017/elma365?ssl=true&amp;replicaSet=rs0&amp;readPreference=nearest</span></p>
<h2 class="p_Heading2"><a id="prepare-to-restore" class="hmanchor"></a><span class="f_Heading2">Prepare a MongoDB database for restoration</span></h2>
<p class="p_Normal">If you need to restore a database from backup, first prepare the database for restoration.</p>
<p class="p_Normal">For more details on backup, refer to the following articles:</p>
<ul style="list-style-type:disc">
<li class="p_Normal"><a href="dump_db.html" class="topiclink">External BRIX backup</a>.</li><li class="p_Normal"><a href="database-backup-and-recovery.html" class="topiclink">Backup and recover databases</a>.</li><li class="p_Normal"><a href="backup-restore-elma365standard.html" class="topiclink">Backup and restore databases for BRIX Standard</a>.</li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание&nbsp;</span></p>
<p class="p_Normal">Ensure you have a backup copy of the database you are deleting. Only after that, proceed with deleting the database.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Конец&nbsp;внимание</span></p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Open the <span style="font-weight: bold;">mongosh</span> console for configuration:</li></ol>
<ul style="list-style-type:disc">
<li class="p_Normal">To connect to MongoDB:</li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;mongosh&nbsp;-u&nbsp;superuser</span></p>
<ul style="list-style-type:disc">
<li class="p_Normal">To connect to MongoDB with TLS/SSL enabled:</li></ul>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">sudo mongosh -u superuser --tls --host mongodb-server1.your_domain --tlsCAFile /etc/ssl/CA.pem</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Delete the <span style="font-weight: bold;">elma365</span> database:</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">use elma365</span><br />
<span class="f_CodeExample">db.dropDatabase()</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">Create an empty <span style="font-weight: bold;">elma365</span> database to restore the database from backup. To do this, use the commands from <a href="mongodb.html#create-db" class="topiclink">Step 2: Configure MongoDB</a>.</li></ol>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">After that, depending on your BRIX On-Premises edition and backup method, perform data restoration:</li></ol>
<ul style="list-style-type:disc">
<li class="p_Normal"><a href="database-backup-and-recovery.html#recovery-database" class="topiclink">Restore a backup copy using the utility</a>.</li><li class="p_Normal"><a href="backup-and-recovery-with-wal-g-and-rclone.html#walg-mongo" class="topiclink">Restore a backup copy using WAL-G</a>.</li><li class="p_Normal"><a href="dump_db.html#restore" class="topiclink">Restore a backup copy when using external means</a>.</li><li class="p_Normal"><a href="backup-restore-elma365standard.html#restore" class="topiclink">Restore a backup copy in the Standard edition</a>.</li></ul>
<div class="bottom-nav">
<a id="prev-link" class="topic__navi_prev" href="postgresql.html">
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
class="bottom-nav__link">postgresql.html</span>
</a>
<a id="next-link" class="topic__navi_next" href="redis.html">
<span class="bottom-nav__link">redis.html</span> <span
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
</a>
</div>
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
</section>
</div>
<aside class="article__sidebar" style="display:none">
<input type="checkbox" />
<div class="article__arrow"></div>
<div class="table-of-contents elma365-right" id="toc2Content">
<h3 class="h3-toc">In this topic</h3>
<nav id="toc2"></nav>
</div>
</aside>
</div>
</article>
</main>
<footer class="footer">
<div class="footer-container">
<div class="footer-mobile">
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
</div>
<div class="footer-wrap">
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
<div class="footer-flex-b">
<span class="footer-copy">&copy; 2025 BRIX</span>
<ul class="footer-list">
<li class="footer-item">
<a href="#" class="arrow-top" style="display: block;"></a>
</li>
</ul>
</div>
</div>
</div>
</footer>
<iframe name="hmnavigation" style="display:none!important"></iframe>
<script src="./jquery-ui.js"></script>
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
<script src="./jquery.tocify.min.js"></script>
<script src="./TypoReporter.min.js"></script>
<script src="./google-search.js"></script>
<script src="./main.js"></script>
<script type="text/javascript">
HMInitToggle('TOGGLE0186A1','hm.type','dropdown','hm.state','0');
</script>
</body>
</html>