<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Memel Meless</title>
    <description>The latest articles on DEV Community by Memel Meless (@aurellemeless).</description>
    <link>https://dev.to/aurellemeless</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F353152%2F511ea0e4-3ea9-4bfd-b1ec-cd12d9fb184a.jpeg</url>
      <title>DEV Community: Memel Meless</title>
      <link>https://dev.to/aurellemeless</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aurellemeless"/>
    <language>en</language>
    <item>
      <title>React doc, what's new ?</title>
      <dc:creator>Memel Meless</dc:creator>
      <pubDate>Sun, 19 Mar 2023 11:30:29 +0000</pubDate>
      <link>https://dev.to/aurellemeless/react-doc-whats-new--10k9</link>
      <guid>https://dev.to/aurellemeless/react-doc-whats-new--10k9</guid>
      <description>&lt;p&gt;Hello javascript fans mainly react  users.&lt;br&gt;
I want to share with you what I think is new on React doc now, I mean for &lt;code&gt;React 18&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;what you can observe before was, like you have to learn two concepts of react everytime.&lt;/p&gt;

&lt;p&gt;In fact React teams in the past promoted class based components, then the new way to build component now recomand fonctional approach. Classes was cool for old users of react, but for new users it was like you are learning thing twice, it was confusing.&lt;/p&gt;

&lt;p&gt;Now when you start, you can jump directly into functional component and you'll learn with funny examples.&lt;/p&gt;

&lt;p&gt;Another thing is the references to frameworks, today you can find popular frameworks described and included directly in react doc, we can list : &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Next.js&lt;/p&gt;

&lt;p&gt;Remix&lt;/p&gt;

&lt;p&gt;Gatsby&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Theres is also a reference to &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;React native&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can enjoy also with the new design.&lt;br&gt;
Enjoy with react !!!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Use a npm package from your private registry</title>
      <dc:creator>Memel Meless</dc:creator>
      <pubDate>Mon, 13 Mar 2023 01:00:27 +0000</pubDate>
      <link>https://dev.to/aurellemeless/use-a-npm-package-from-your-private-registry-166m</link>
      <guid>https://dev.to/aurellemeless/use-a-npm-package-from-your-private-registry-166m</guid>
      <description>&lt;p&gt;Daily as javascript developer, I use npm. most of the time I use packages from public npm registry. It looks like that in my terminal : &lt;br&gt;
&lt;code&gt;npm install my-public-package&lt;/code&gt;&lt;br&gt;
and everything is ok.&lt;br&gt;
What happen to me that week, was simple, another department develop a package and push it on our private internal registry.&lt;/p&gt;

&lt;p&gt;the first solution was just doing an install from git with a certain ssh .&lt;br&gt;
like this: &lt;br&gt;
&lt;code&gt;npm install -S "git+ssh://&amp;lt;your project git ssh url&amp;gt;"&lt;/code&gt;&lt;br&gt;
we will skip this method&lt;/p&gt;

&lt;p&gt;another one is to simply setup your npm config, just the followings steps:&lt;br&gt;
update or create an npm config file :&lt;br&gt;
create an .npmrc file in the root of your home : ~/.npmrc&lt;/p&gt;

&lt;p&gt;What do you need :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;access to the registry : username, password&lt;/li&gt;
&lt;li&gt;the registry url&lt;/li&gt;
&lt;li&gt;a base64 encoder tool&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now what will be the content of our recently created .npmrc file ?&lt;br&gt;
We add two things : the private registry url and the authentification token, like this :&lt;/p&gt;

&lt;p&gt;&lt;code&gt;//my-private-registry-url/:_auth=&amp;lt;token&amp;gt;&lt;br&gt;
@scope:registry=&amp;lt;http//:my-private-registry-url&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The scope is the package or the first part of the package, if your package is &lt;code&gt;@john/doe&lt;/code&gt; the scope will be &lt;code&gt;@john&lt;/code&gt;, we can just say that the scope is the namespace of the package.&lt;/p&gt;

&lt;p&gt;Note that  is &lt;code&gt;base64&lt;/code&gt; of '&lt;code&gt;username:password&lt;/code&gt;',  username and password of your registry.&lt;/p&gt;

&lt;p&gt;after this config you can now install your private npm package as usual doing :&lt;br&gt;
&lt;code&gt;npm install @john/doe&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That's all, easy and simple, enjoy with your private registry packages.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Test your MongoDB connectivity with mongoose</title>
      <dc:creator>Memel Meless</dc:creator>
      <pubDate>Wed, 28 Jul 2021 14:36:46 +0000</pubDate>
      <link>https://dev.to/aurellemeless/test-your-mongodb-connectivity-with-mongoose-1dmj</link>
      <guid>https://dev.to/aurellemeless/test-your-mongodb-connectivity-with-mongoose-1dmj</guid>
      <description>&lt;p&gt;I was building an app in which I need to switch database from the UI. In that situation we need to update the parameters of connexion and validate them, we need to test if the connexion can be etablished.&lt;/p&gt;

&lt;p&gt;using mongoose&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;mongoose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In your testing code file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mongoose&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mongoose&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;127.0.0.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;authDb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;admin&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;database&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;purgenie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;memel&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;yourP@ssword&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;127017&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;options&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;
&lt;span class="nx"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;encodeURIComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;password&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;uri&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mongodb://&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;password&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;database&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;?authSource=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;authDb&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;mongoose&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;options&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Connexion succeed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>mongoose</category>
      <category>mongodb</category>
      <category>node</category>
    </item>
    <item>
      <title>Migrate phone number to 10 digits Côte d'Ivoire in JavaScript</title>
      <dc:creator>Memel Meless</dc:creator>
      <pubDate>Sun, 28 Mar 2021 22:25:19 +0000</pubDate>
      <link>https://dev.to/aurellemeless/migrate-phone-number-to-10-digits-cote-d-ivoire-in-javascript-544c</link>
      <guid>https://dev.to/aurellemeless/migrate-phone-number-to-10-digits-cote-d-ivoire-in-javascript-544c</guid>
      <description>&lt;p&gt;Something very interesting on sunday coding,&lt;br&gt;
I solved my personal problem by translating ARTCI  project PNN into  javascript.&lt;br&gt;
&lt;a href="https://github.com/aurellemeless/cipnn/tree/main"&gt;https://github.com/aurellemeless/cipnn/tree/main&lt;/a&gt;&lt;br&gt;
I can now by the web migrate my Côte d'Ivoire contacts.&lt;br&gt;
You can check the repo and add you contributions. comments and commits are welcome.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to run a MongoDB instance on a specific port and activate authentification?</title>
      <dc:creator>Memel Meless</dc:creator>
      <pubDate>Wed, 24 Feb 2021 19:05:29 +0000</pubDate>
      <link>https://dev.to/aurellemeless/how-to-run-a-mongo-db-instance-on-a-specific-port-and-activate-authentification-48c8</link>
      <guid>https://dev.to/aurellemeless/how-to-run-a-mongo-db-instance-on-a-specific-port-and-activate-authentification-48c8</guid>
      <description>&lt;p&gt;Sometimes you need to work on different projects that need MongoDB in differents ports /instances, We have a lot of situations for which that happens but I will not list them here. I faced that situation and I diced to share my experience on it with you.&lt;/p&gt;

&lt;p&gt;In this tutorial you will learn how to run a specific instance of MongoDB :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store the database files in a specific directory&lt;/li&gt;
&lt;li&gt;Specify a custom port&lt;/li&gt;
&lt;li&gt;Activate authentification by username and password&lt;/li&gt;
&lt;li&gt;How to connect from mongo client directly from the terminal &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Requirement&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have MongoDB 3.4 or higher installed &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create the directories to persist your data
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir /home/memel/data
mkdir /home/memel/data/log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a Configuration file
&lt;/h2&gt;

&lt;p&gt;Everything can be done in the config file.&lt;br&gt;
create a file anywhere you want and keep in mind the full path of that file.&lt;/p&gt;

&lt;p&gt;Name it externaldb.conf :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch /home/memel/externaldb.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Put content below and adapt it to your need :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;systemLog&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;destination&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;file&lt;/span&gt;
&lt;span class="c1"&gt;# you can put the corresponding path for the log&lt;/span&gt;
   &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/home/memel/data/external/log/mongod.log&lt;/span&gt;
   &lt;span class="na"&gt;logAppend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;true&lt;/span&gt;
&lt;span class="na"&gt;storage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;journal&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;true&lt;/span&gt;
&lt;span class="c1"&gt;# you can put the corresponding path to store the DB&lt;/span&gt;
   &lt;span class="na"&gt;dbPath&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/home/memel/data/external&lt;/span&gt;
&lt;span class="na"&gt;net&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;bindIp&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;127.0.0.1&lt;/span&gt;
&lt;span class="c1"&gt;# put the port that you want&lt;/span&gt;
   &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;27020&lt;/span&gt;
&lt;span class="na"&gt;setParameter&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;enableLocalhostAuthBypass&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From your terminal run the following to lunch your instance :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mongod --config "/home/memel/externaldb.conf"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if everything is ok, from you terminal run :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mongo --port 27020
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a secured account
&lt;/h2&gt;

&lt;p&gt;Select the admin database&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create a server admin user
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createUser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;sa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="na"&gt;pwd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;your password&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="na"&gt;roles&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;userAdminAnyDatabase&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;db&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;admin&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;readWriteAnyDatabase&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That user account will manage all the server, I mean all the databases.&lt;br&gt;
you can create a user only for a specific database.&lt;/p&gt;
&lt;h3&gt;
  
  
  Create a database admin user
&lt;/h3&gt;

&lt;p&gt;Creating a specific account &lt;code&gt;myAppUser&lt;/code&gt; that will acceed only your app database &lt;code&gt;myAppDB&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createUser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;myAppUser&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="na"&gt;pwd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;your password&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="na"&gt;roles&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;readWrite&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;db&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;myAppDB&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see a success message, close your terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect from mongo client
&lt;/h2&gt;

&lt;p&gt;Now open a new terminal and test if the &lt;strong&gt;sa&lt;/strong&gt; account works, run the next command line&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mongo --port 27020  -u sa -p --authenticationDatabase admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Activate full authentification
&lt;/h2&gt;

&lt;p&gt;Activate the security allow only access by password&lt;br&gt;
you just need to set &lt;code&gt;enableLocalhostAuthBypass&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;&lt;br&gt;
 your config file should look like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;systemLog&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;destination&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;file&lt;/span&gt;
&lt;span class="c1"&gt;# you can put the corresponding path for the log&lt;/span&gt;
   &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/home/memel/data/external/log/mongod.log&lt;/span&gt;
   &lt;span class="na"&gt;logAppend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;true&lt;/span&gt;
&lt;span class="na"&gt;storage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;journal&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;true&lt;/span&gt;
&lt;span class="c1"&gt;# you can put the corresponding path to store the DB&lt;/span&gt;
   &lt;span class="na"&gt;dbPath&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/home/memel/data/external&lt;/span&gt;
&lt;span class="na"&gt;net&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;bindIp&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;127.0.0.1&lt;/span&gt;
&lt;span class="c1"&gt;# put the port that you want&lt;/span&gt;
   &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;27020&lt;/span&gt;
&lt;span class="na"&gt;setParameter&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="na"&gt;enableLocalhostAuthBypass&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enjoy !!!&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>authentification</category>
      <category>server</category>
    </item>
  </channel>
</rss>
