मुख्य सामग्री पर जाएँ

MongoDB Atlas CLI: कमांड लाइन से डेटाबेस प्रबंधन

MongoDB Atlas CLI वेब इंटरफ़ेस का एक तेज़ विकल्प है। आप अपने टर्मिनल से सीधे डेटाबेस प्रबंधन कार्य चला और स्वचालित कर सकते हैं।
· 12 मि॰ पढ़ें

AI के साथ खोजें

MongoDB Atlas एक क्लाउड-आधारित डेटाबेस सेवा है, जो आपको MongoDB डेटाबेस को डिप्लॉय, प्रबंधित और स्केल करने देती है। आप Atlas को Atlas UI, एक वेब-आधारित इंटरफ़ेस, या Atlas CLI, एक कमांड-लाइन टूल के ज़रिए प्रबंधित कर सकते हैं जो आपको वही कार्य कमांड्स से करने देता है।

MongoDB Atlas CLI, Atlas UI का एक तेज़ विकल्प प्रदान करता है। आप अपने टर्मिनल से सीधे डेटाबेस प्रबंधन कार्य चला और स्वचालित कर सकते हैं।

इस लेख में, मैं आपको Atlas CLI का उपयोग करके अपने डेटाबेस प्रबंधित करने की प्रक्रिया दिखाऊंगा।

पूर्वापेक्षाएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास ये हों:

  • MongoDB Atlas खाता।
  • कमांड-लाइन का बुनियादी अनुभव।
  • आपके ऑपरेटिंग सिस्टम के लिए Atlas CLI की इंस्टॉलेशन आवश्यकताएँ।

CLI कमांड्स की संरचना

MongoDB Atlas CLI एक सुसंगत कमांड संरचना का पालन करता है:

atlas [command] [subcommand] [flags]

जब आप बिना किसी सबकमांड या फ्लैग के कोई कमांड चलाते हैं, तो CLI मदद संबंधी जानकारी दिखाता है, जिसमें शामिल होता है:

  • Usage: कमांड का उपयोग कैसे करें।
  • Aliases: कमांड के वैकल्पिक नाम।
  • Available commands: उपलब्ध सबकमांड्स जिन्हें आप चला सकते हैं।
  • Flags: कमांड-विशिष्ट विकल्प।
  • Global flags: सभी CLI कमांड्स पर उपलब्ध विकल्प।

उदाहरण के लिए, यदि आप यह चलाते हैं:

atlas clusters

तो आपको इस तरह का प्रत्युत्तर मिलेगा:

Manage clusters for your project. The clusters command provides access to your cluster configurations. You can create, edit, and delete clusters.

Usage:
  atlas clusters [command]

Aliases:
  clusters, cluster

Available Commands:
  list              Return all clusters for your project.
  describe          Return the details for the specified cluster for your project.
  advancedSettings  Manage advanced configuration settings for your cluster.
 ...

Flags:
  -h, --help   help for clusters

Global Flags:
  -P, --profile string   Name of the profile to use from your configuration file. To learn about profiles for the Atlas CLI, see https://dochub.mongodb.org/core/atlas-cli-save-connection-settings.

Use "atlas clusters [command] --help" for more information about a command.

Atlas CLI में कमांड नाम, आर्ग्युमेंट्स और फ्लैग नाम case-sensitive होते हैं। उदाहरणों में दी गई सटीक कैपिटलाइज़ेशन का ही उपयोग करें—जैसे, --orgId न कि --orgID।

MongoDB डिप्लॉयमेंट बनाएँ

डिप्लॉयमेंट MongoDB का एक रनिंग इंस्टेंस है जो आपका डेटा स्टोर और सर्व करता है। प्रत्येक डिप्लॉयमेंट में डेटाबेस सर्वर, स्टोरेज, नेटवर्किंग और स्वचालित बैकअप शामिल होते हैं। MongoDB Atlas इन्फ्रास्ट्रक्चर मैनेजमेंट संभालता है, ताकि आप सर्वर मेंटेन करने की बजाय डेटाबेस के उपयोग पर ध्यान केंद्रित कर सकें।

MongoDB डिप्लॉयमेंट बनाने के लिए, Atlas CLI इंस्टॉल या अपडेट करें, फिर यह कमांड चलाएँ:

atlas setup

atlas setup कमांड आपको एक इंटरैक्टिव प्रक्रिया से गुज़ारता है। यह आपसे कॉन्फ़िगरेशन विकल्प पूछता है और एक प्रोजेक्ट बनाता है, क्लस्टर प्रोविज़न करता है, और बुनियादी सुरक्षा सेटिंग्स कॉन्फ़िगर करता है।

मौजूदा डिप्लॉयमेंट से प्रमाणीकरण करें

यदि आपके पास पहले से MongoDB Atlas डिप्लॉयमेंट है और आप उसे CLI से प्रबंधित करना चाहते हैं, तो आपको प्रमाणीकरण करना होगा। लॉग इन करने के लिए चलाएँ:

atlas auth login

यह कमांड आपसे प्रमाणीकरण प्रकार चुनने के लिए कहेगा, फिर एक वन-टाइम वेरिफिकेशन कोड देगा। कोड कॉपी करें और ब्राउज़र में माँगे जाने पर पेस्ट करें। उदाहरण के लिए:

atlas auth login
? Select authentication type: UserAccount

To verify your account, copy your one-time verification code:
QPWF-6GT4

Paste the code in the browser when prompted to activate your Atlas CLI. Your code will expire after 3 minutes.

To continue, go to https://account.mongodb.com/account/connect

Press Enter to open the browser and complete authentication...
Successfully logged in as [email protected].

प्रमाणीकरण के बाद, आप एक डिफ़ॉल्ट ऑर्गनाइज़ेशन और आउटपुट फ़ॉर्मैट चुनेंगे। CLI आपका सत्र स्टोर करता है, लेकिन यह समय-समय पर समाप्त हो जाता है। जब आपको "session expired" त्रुटि दिखे, तो atlas auth login फिर से चलाएँ।

कई परिवेशों के लिए प्रोफ़ाइल प्रबंधित करें

प्रोफ़ाइल आपको एक ही CLI इंस्टॉलेशन से कई MongoDB Atlas परिवेश प्रबंधित करने देती हैं। प्रत्येक प्रोफ़ाइल किसी अलग परिवेश, जैसे डेवलपमेंट, स्टेजिंग, या प्रोडक्शन के लिए कनेक्शन सेटिंग्स स्टोर करती है।

प्रोफ़ाइल का उपयोग करके, आप बिना दोबारा प्रमाणीकरण किए या कॉन्फ़िगरेशन फ़ाइलें बदले, परिवेशों के बीच जल्दी स्विच कर सकते हैं। यह तब उपयोगी है जब आप अपने विकास वर्कफ़्लो के अलग-अलग चरणों के लिए अलग MongoDB Atlas प्रोजेक्ट्स या ऑर्गनाइज़ेशन्स बनाए रखते हैं।

आम तौर पर हर परिवेश के लिए अलग Atlas प्रोजेक्ट बनाना और उन्हें प्रोफ़ाइल से प्रबंधित करना बेहतर होता है—उदाहरण के लिए:

  • डेवलपमेंट प्रोफ़ाइल: आपके dev प्रोजेक्ट की ओर संकेत करती है जिसमें परीक्षण के लिए छोटा M0 क्लस्टर हो।
  • स्टेजिंग प्रोफ़ाइल: आपके स्टेजिंग प्रोजेक्ट की ओर संकेत करती है जो प्रोडक्शन कॉन्फ़िगरेशन को दर्शाती है।
  • प्रोडक्शन प्रोफ़ाइल: आपके प्रोडक्शन-ग्रेड क्लस्टर्स वाले प्रोडक्शन प्रोजेक्ट की ओर संकेत करती है।

विभिन्न परिवेशों के लिए प्रोफ़ाइल बनाएँ

जब आप पहली बार atlas auth login चलाते हैं, तो CLI एक डिफ़ॉल्ट प्रोफ़ाइल बनाता है। अन्य परिवेशों के लिए अतिरिक्त प्रोफ़ाइल बनाने हेतु --profile फ्लैग का उपयोग करें:

atlas auth login --profile dev

यह "dev" नाम की प्रोफ़ाइल बनाता है और आपको प्रमाणीकरण प्रक्रिया से गुज़ारता है। हर परिवेश के लिए इसे दोहराएँ:

atlas auth login --profile staging
atlas auth login --profile production

हर प्रोफ़ाइल अपनी स्वयं की प्रमाणीकरण क्रेडेंशियल्स, डिफ़ॉल्ट प्रोजेक्ट और ऑर्गनाइज़ेशन सेटिंग्स स्टोर करती है।

उपलब्ध प्रोफ़ाइल सूचीबद्ध करें

सभी कॉन्फ़िगर की गई प्रोफ़ाइल देखने के लिए चलाएँ:

atlas config list

यह आपके द्वारा बनाई गई सभी प्रोफ़ाइल के नाम दिखाता है।

प्रोफ़ाइल विवरण देखें

किसी विशिष्ट प्रोफ़ाइल की कॉन्फ़िगरेशन देखने के लिए चलाएँ:

atlas config describe <profileName>

उदाहरण के लिए:

atlas config describe dev

यह प्रोफ़ाइल की सेटिंग्स दिखाता है, जिनमें डिफ़ॉल्ट ऑर्गनाइज़ेशन और प्रोजेक्ट IDs शामिल हैं।

प्रोफ़ाइल के बीच स्विच करें

किसी कमांड के लिए एक विशिष्ट प्रोफ़ाइल का उपयोग करने के लिए, --profile फ्लैग जोड़ें:

atlas clusters list --profile production

यह प्रोडक्शन प्रोफ़ाइल के क्रेडेंशियल्स और सेटिंग्स का उपयोग करके क्लस्टर्स सूचीबद्ध करता है।

आप एक डिफ़ॉल्ट प्रोफ़ाइल भी सेट कर सकते हैं ताकि हर कमांड के साथ उसे निर्दिष्ट करने की आवश्यकता न हो:

atlas config set --profile staging

डिफ़ॉल्ट सेट करने के बाद, सभी कमांड उसी प्रोफ़ाइल का उपयोग करेंगे जब तक कि आप --profile फ्लैग से उसे ओवरराइड न करें।

प्रोफ़ाइल सेटिंग्स अपडेट करें

किसी प्रोफ़ाइल की कॉन्फ़िगरेशन संशोधित करने के लिए चलाएँ:

atlas config set <setting> <value> --profile <profileName>

उदाहरण के लिए, dev प्रोफ़ाइल के लिए डिफ़ॉल्ट प्रोजेक्ट सेट करने हेतु:

atlas config set project_id 5f8e8d9a1b2c3d4e5f6g7h8i --profile dev

प्रोफ़ाइल का नाम बदलें

प्रोफ़ाइल का नाम बदलने के लिए चलाएँ:

atlas config rename <oldName> <newName>

उदाहरण के लिए:

atlas config rename dev development

प्रोजेक्ट्स प्रबंधित करें

MongoDB Atlas में प्रोजेक्ट्स आपके क्लस्टर्स, उपयोगकर्ताओं और सेटिंग्स को व्यवस्थित करते हैं। किसी प्रोजेक्ट को ऐसे कंटेनर की तरह समझें जो संबंधित डेटाबेस संसाधनों को एक साथ समूहित करता है।

हर प्रोजेक्ट में कई क्लस्टर्स हो सकते हैं और उसके अपने उपयोगकर्ता व एक्सेस कंट्रोल होते हैं। जब आपके पास अलग-अलग एप्लिकेशन, परिवेश, या टीमें होती हैं जिन्हें पृथक डेटाबेस संसाधनों की आवश्यकता होती है, तो यह अलगाव उपयोगी होता है।

प्रोजेक्ट बनाएँ

नया प्रोजेक्ट बनाने के लिए चलाएँ:

atlas projects create <projectName> [options]

ऐसा वर्णनात्मक नाम उपयोग करें जो प्रोजेक्ट के उद्देश्य को दर्शाए, जैसे "ecommerce-transactions" या "mobile-app-staging"।

[options] में वे फ्लैग शामिल होते हैं जो प्रोजेक्ट कैसे और कहाँ बनाया जाए, यह संशोधित करते हैं। उदाहरण के लिए, आप वह ऑर्गनाइज़ेशन निर्दिष्ट कर सकते हैं जिसमें प्रोजेक्ट बनाना है:

atlas projects create mobile-app-staging --orgId <organizationId>

--orgId फ्लैग उस ऑर्गनाइज़ेशन को निर्दिष्ट करता है जिसमें प्रोजेक्ट बनाना है। यह आवश्यक है जब तक आपने कोई डिफ़ॉल्ट ऑर्गनाइज़ेशन सेट न किया हो। आप अपने ऑर्गनाइज़ेशन्स और उनके Id की सूची प्राप्त करने के लिए atlas organizations list कमांड चला सकते हैं। 

In all examples, replace placeholders like <projectId>, <clusterName>, and <username> with your actual project, cluster, or user names and identifiers.

प्रोजेक्ट अपडेट करें

प्रोजेक्ट सेटिंग्स अपडेट करने के लिए उपयोग करें:

atlas projects update <projectId> [options]

उदाहरण के लिए, प्रोजेक्ट नाम बदलने हेतु --name फ्लैग का उपयोग कर सकते हैं:

atlas projects update <projectId> --name newProjectName

प्रोजेक्ट सूचीबद्ध करें

अपने ऑर्गनाइज़ेशन के सभी प्रोजेक्ट सूचीबद्ध करने के लिए उपयोग करें:

atlas projects list [options]

उपरोक्त कमांड में --orgId फ्लैग विकल्प के रूप में यह निर्दिष्ट करता है कि किस ऑर्गनाइज़ेशन से प्रोजेक्ट सूचीबद्ध करने हैं:

atlas projects list --orgId <organizationId>

आप आउटपुट फ़ॉर्मैट भी नियंत्रित कर सकते हैं, जैसे परिणामों को JSON में दिखाना:

atlas projects list --output json

प्रोजेक्ट हटाएँ

आप Atlas CLI कमांड का उपयोग करके किसी प्रोजेक्ट को हटा सकते हैं।

atlas projects delete <projectId> --orgId <organizationId>

आप ऐसे प्रोजेक्ट को नहीं हटा सकते जिसमें अभी भी सक्रिय क्लस्टर मौजूद हों। इसलिए प्रोजेक्ट हटाने से पहले, उसके भीतर सभी क्लस्टर हटा दें।

क्लस्टर्स प्रबंधित करें

क्लस्टर्स MongoDB सर्वरों के समूह होते हैं जो आपका डेटा स्टोर करते हैं। Atlas आपके क्लस्टर्स के लिए इन्फ्रास्ट्रक्चर, रेप्लिकेशन और बैकअप प्रबंधित करता है।

क्लस्टर बनाएँ

नया क्लस्टर बनाने के लिए चलाएँ:

atlas clusters create <clusterName> [options]

[options] में वे फ्लैग शामिल होते हैं जो क्लस्टर कॉन्फ़िगरेशन निर्दिष्ट करते हैं। उदाहरण के लिए, आप क्लाउड प्रोवाइडर, क्षेत्र और MongoDB प्राइसिंग टियर कॉन्फ़िगर करने हेतु अतिरिक्त विकल्प शामिल कर सकते हैं:

atlas clusters create myCluster --provider AWS --region US_EAST_1 --tier M0

इस कमांड में --provider फ्लैग क्लाउड प्रोवाइडर निर्दिष्ट करता है, जैसे AWS, GCP, या Azure। --region फ्लैग वह क्षेत्र निर्दिष्ट करता है जहाँ क्लस्टर डिप्लॉय होगा। --tier फ्लैग क्लस्टर का आकार निर्दिष्ट करता है।

यदि आपने डिफ़ॉल्ट प्रोजेक्ट सेट नहीं किया है, तो --projectId फ्लैग शामिल करें:

atlas clusters create myCluster --projectId <projectId> --provider AWS --region US_EAST_1 --tier M0

क्लस्टर का विवरण देखें

किसी विशिष्ट क्लस्टर का विवरण देखने के लिए चलाएँ:

atlas clusters describe <clusterName> --projectId <projectId>

यह कमांड क्लस्टर की कॉन्फ़िगरेशन, आकार, क्षेत्र और कनेक्शन स्ट्रिंग्स दिखाती है।

क्लस्टर सूचीबद्ध करें

अपने प्रोजेक्ट के सभी क्लस्टर सूचीबद्ध करने के लिए चलाएँ:

atlas clusters list --projectId <projectId>

--projectId फ्लैग आवश्यक है जब तक आपने डिफ़ॉल्ट प्रोजेक्ट सेट नहीं किया है, जैसे:

atlas config set project_id <projectId>

क्लस्टर को रोकें (Pause)

आप बिना हटाए किसी क्लस्टर को अस्थायी रूप से रोक सकते हैं। इससे क्लस्टर के ऑपरेशन्स रुक जाते हैं, लेकिन आपका डेटा और कॉन्फ़िगरेशन सुरक्षित रहता है:

atlas clusters pause <clusterName> --projectId <projectId>

क्लस्टर हटाएँ

किसी क्लस्टर को स्थायी रूप से हटाने के लिए चलाएँ:

atlas clusters delete <clusterName> --projectId <projectId>

क्लस्टर बनाने के बाद, उससे कनेक्ट करने से पहले आपको नेटवर्क सुरक्षा कॉन्फ़िगर करनी होगी।

IP एक्सेस लिस्ट कॉन्फ़िगरेशन प्रबंधित करें

IP एक्सेस लिस्ट यह नियंत्रित करती है कि कौन-से IP पते आपके MongoDB Atlas क्लस्टर्स से कनेक्ट कर सकते हैं। हर प्रोजेक्ट में अधिकतम 200 IP एक्सेस लिस्ट एंट्रीज़ हो सकती हैं। आप व्यक्तिगत IP पते, CIDR-नोटेशन रेंज, या AWS सिक्योरिटी ग्रुप IDs जोड़ सकते हैं। CIDR-नोटेशन रेंज बेस IP और प्रीफ़िक्स का उपयोग कर IP पतों का एक ब्लॉक परिभाषित करती है—जैसे, 192.168.0.0/24। AWS सिक्योरिटी ग्रुप ID निर्दिष्ट AWS सिक्योरिटी ग्रुप के भीतर सभी संसाधनों से एक्सेस की अनुमति देती है।

IP एक्सेस लिस्ट प्रबंधित करने के लिए, आपके पास प्रोजेक्ट पर Project Owner एक्सेस होना चाहिए।

एक्सेस लिस्ट में IP पते जोड़ें

अपना वर्तमान IP पता एक्सेस लिस्ट में जोड़ने के लिए चलाएँ:

atlas accessLists create --currentIp --projectId <projectId>

--currentIp फ्लैग कमांड चलाने वाली मशीन का IP पता स्वतः जोड़ देता है। यह तब उपयोगी है जब आपको अपने डेवलपमेंट मशीन से त्वरित एक्सेस चाहिए।

किसी विशिष्ट IP पते को जोड़ने के लिए चलाएँ:

atlas accessLists create <ipAddress> --type ipAddress --projectId <projectId>

<ipAddress> वह IP पता है जिसे आप अनुमति देना चाहते हैं। उदाहरण के लिए:

atlas accessLists create 192.0.2.15 --type ipAddress --comment "Office network" --projectId <projectId>

--comment फ्लैग एक विवरण जोड़ता है जो बाद में एंट्री की पहचान करने में मदद करता है।

CIDR नोटेशन का उपयोग करके IP पतों की रेंज जोड़ने के लिए चलाएँ:

atlas accessLists create <cidrBlock> --type cidrBlock --projectId <projectId>

उदाहरण के लिए:

atlas accessLists create 73.231.201.0/24 --type cidrBlock --comment "Development servers" --projectId <projectId>

अस्थायी एक्सेस लिस्ट एंट्री बनाएँ

ऐसा IP पता जोड़ने के लिए जो निर्धारित समय के बाद अपने आप समाप्त हो जाए, --deleteAfter फ्लैग का उपयोग करें। आप अधिकतम सात दिन आगे तक की समाप्ति तिथि सेट कर सकते हैं:

atlas accessLists create <ipAddress> --type ipAddress --deleteAfter <isoDateTime> --projectId <projectId>

--deleteAfter फ्लैग ISO-8601 फ़ॉर्मैट की तारीख स्वीकार करता है। उदाहरण के लिए:

atlas accessLists create 192.0.2.20 --type ipAddress --deleteAfter 2025-12-31T23:59:59Z --comment "Temporary contractor access" --projectId <projectId>

निर्धारित दिनांक और समय के बाद MongoDB Atlas एंट्री को स्वतः हटा देता है।

IP एक्सेस लिस्ट एंट्री सूचीबद्ध करें

अपने प्रोजेक्ट में सभी IP एक्सेस लिस्ट एंट्री देखने के लिए चलाएँ:

atlas accessLists list --projectId <projectId>

किसी विशिष्ट एंट्री का विवरण देखने के लिए चलाएँ:

atlas accessLists describe <entry> --projectId <projectId>

<entry> वह IP पता, CIDR ब्लॉक, या AWS सिक्योरिटी ग्रुप ID है जिसे आप देखना चाहते हैं।

IP एक्सेस लिस्ट एंट्री हटाएँ

एक्सेस लिस्ट से कोई IP पता हटाने के लिए चलाएँ:

atlas accessLists delete <entry> --projectId <projectId>

उपयोगकर्ता और रोल प्रबंधित करें

किसी रोल से विशिष्ट संसाधनों पर क्रियाओं के समूह करने के अधिकार मिलते हैं। उपयोगकर्ता वह इकाई है जिसे एक या अधिक रोल दिए जाते हैं, जो तय करते हैं कि वह डेटाबेस में क्या एक्सेस कर सकता/सकती है।

डेटाबेस उपयोगकर्ता और रोल कॉन्फ़िगर करने के लिए, आपके पास MongoDB Atlas में Organization Owner, Project Owner, या Project Database Access Admin एक्सेस होना चाहिए।

उपयोगकर्ता प्रबंधित करें

डेटाबेस उपयोगकर्ता बनाने के लिए चलाएँ:

atlas dbusers create [builtInRole] [options]

[builtInRole] वह एक या अधिक बिल्ट-इन रोल हैं जिन्हें उपयोगकर्ता को असाइन करना है। [options] में उपयोगकर्ता के क्रेडेंशियल्स और कॉन्फ़िगरेशन निर्दिष्ट करने वाले फ्लैग शामिल होते हैं। उदाहरण के लिए:

atlas dbusers create --username myUser --password myPassword --role readWriteAnyDatabase --projectId <projectId>

--username फ्लैग उपयोगकर्ता नाम निर्दिष्ट करता है। --password फ्लैग पासवर्ड निर्दिष्ट करता है। --role फ्लैग असाइन किए जाने वाले रोल को निर्दिष्ट करता है। इस मामले में, उपयोगकर्ता नाम myUser है, जबकि पासवर्ड myPassword है। 

अपने प्रोजेक्ट के सभी डेटाबेस उपयोगकर्ताओं की सूची देखने के लिए चलाएँ:

atlas dbusers list --projectId <projectId>

किसी विशिष्ट डेटाबेस उपयोगकर्ता का विवरण देखने के लिए चलाएँ:

atlas dbusers describe <username> --projectId <projectId>

आप डेटाबेस उपयोगकर्ता को अपडेट भी कर सकते हैं। उदाहरण के लिए, उपयोगकर्ता का पासवर्ड अपडेट करने हेतु चलाएँ:

atlas dbusers update myUser --password newPassword --projectId <projectId>

उपयोगकर्ता के रोल अपडेट करने के लिए चलाएँ:

atlas dbusers update myUser --role readWriteAnyDatabase --role dbAdmin --projectId <projectId>

किसी विशिष्ट डेटाबेस उपयोगकर्ता को हटाने के लिए चलाएँ:

atlas dbusers delete <username> --projectId <projectId>

रोल प्रबंधित करें

उपयोगकर्ता को असाइन करने के लिए दो प्रकार के रोल उपलब्ध हैं:

  • बिल्ट-इन रोल
  • कस्टम रोल

बिल्ट-इन रोल

बिल्ट-इन रोल पूर्व-परिभाषित रोल हैं जो MongoDB Atlas प्रदान करता है। इनमें अलग-अलग डेटाबेस उपयोग मामलों के लिए सामान्य अनुमतियों के सेट शामिल होते हैं, जैसे:

  • read: किसी विशिष्ट डेटाबेस पर केवल-पढ़ने की अनुमति देता है।
  • readWrite: किसी विशिष्ट डेटाबेस में डेटा पढ़ने और संशोधित करने देता है।
  • readAnyDatabase: local और config डेटाबेस को छोड़कर सभी डेटाबेस पर केवल-पढ़ने की अनुमति देता है।
  • readWriteAnyDatabase: सभी डेटाबेस पर पढ़ने और लिखने की अनुमति देता है।
  • dbAdmin: किसी विशिष्ट डेटाबेस के लिए प्रशासनिक विशेषाधिकार प्रदान करता है, जैसे इंडेक्स बनाना या आँकड़े देखना।
  • dbAdminAnyDatabase: सभी डेटाबेस पर प्रशासनिक विशेषाधिकार देता है।
  • clusterAdmin: पूरे क्लस्टर का प्रबंधन करने देता है, जिसमें रेप्लिकेशन और शार्डिंग शामिल हैं।
  • userAdminAnyDatabase: सभी डेटाबेस में उपयोगकर्ता खाते और रोल बनाने व संशोधित करने देता है।

आप बिल्ट-इन रोल को न तो संपादित कर सकते हैं और न ही हटा सकते हैं। आप केवल उन्हें उपयोगकर्ताओं को असाइन कर सकते हैं। उपयोगकर्ता बनाते समय बिल्ट-इन रोल असाइन करने के लिए --role फ्लैग से रोल निर्दिष्ट करें:

atlas dbusers create --username app-reader --password myPassword --role readAnyDatabase --projectId <projectId>

मौजूदा उपयोगकर्ता का रोल असाइन या बदलने के लिए चलाएँ:

atlas dbusers update app-reader --role readWriteAnyDatabase --projectId <projectId>

और अधिक बिल्ट-इन रोल देखने के लिए जो आप उपयोगकर्ताओं को असाइन कर सकते हैं, [Built-In Roles and Privileges](https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant) देखें।

कस्टम रोल

जब बिल्ट-इन रोल आपकी ज़रूरतें पूरी नहीं करते, तब MongoDB Atlas आपको कस्टम रोल बनाने देता है। कस्टम रोल आपके एप्लिकेशन या टीम की आवश्यकताओं के अनुरूप विशिष्ट प्रिविलेज क्रियाएँ परिभाषित करता है।

कस्टम रोल बनाते समय तय करें कि उपयोगकर्ताओं को किन कलेक्शन्स तक पहुँच होनी चाहिए और वे संसाधनों पर कौन-सी क्रियाएँ कर सकें—जैसे डेटा पढ़ना, जोड़ना, अपडेट करना या हटाना।

MongoDB प्रिविलेज परिभाषाओं में, आपको CLI कमांड में प्रिविलेज क्रिया का नाम uppercase में उपयोग करना होगा, जैसे FIND, न कि find। किसी संसाधन पर उपयोगकर्ता कौन-सी और परिभाषित विशेषाधिकार क्रियाएँ कर सकता है, इसके लिए Privilege Actions देखें।

आप Atlas CLI से कस्टम रोल प्रबंधित कर सकते हैं।

कस्टम रोल बनाने के लिए चलाएँ:

atlas customDbRoles create <roleName> [options]

<roleName> वह नाम है जो आप बनाना चाहते हैं। [options] में रोल की permissions निर्दिष्ट करने वाले फ्लैग शामिल हैं—उदाहरण के लिए:

atlas customDbRoles create customAnalyticsRole --privilege [email protected]

उपरोक्त कमांड में:

  • customAnalyticsRole नए कस्टम रोल का नाम है। आप कोई भी वर्णनात्मक नाम चुन सकते हैं जो रोल के उद्देश्य को दर्शाए।
  • --privilege फ्लैग यह निर्दिष्ट करता है कि रोल संसाधनों पर कौन-सी क्रियाएँ कर सकता है।
  • फ़ॉर्मैट [email protected] होता है, जहाँ @ एक्शन और रिसोर्स को अलग करता है।
  • FIND MongoDB द्वारा मान्य एक प्रिविलेज एक्शन है।
  • myDatabase.users वह संसाधन है जिस पर प्रिविलेज लागू होता है—यहाँ myDatabase डेटाबेस की users कलेक्शन।

कस्टम रोल का विवरण देखने के लिए चलाएँ:

atlas customDbRoles list --projectId <projectId>

उपरोक्त कमांड सभी कस्टम रोल और उनकी permissions दिखाता है।

कस्टम रोल अपडेट करने के लिए चलाएँ:

atlas customDbRoles update <roleName> [options]

[options] में यह निर्दिष्ट करने वाले फ्लैग शामिल होते हैं कि क्या अपडेट करना है। उदाहरण के लिए, किसी मौजूदा रोल में नया प्रिविलेज जोड़ने हेतु चलाएँ:

atlas customDbRoles update customAnalyticsRole --privilege [email protected] --privilege [email protected] --projectId <projectId>

उपरोक्त कमांड मौजूदा customAnalyticsRole को अतिरिक्त प्रिविलेज देने के लिए अपडेट करता है। [email protected] रोल को analytics कलेक्शन से दस्तावेज़ पढ़ने देता है, और [email protected] उसे myDatabase डेटाबेस की logs कलेक्शन में दस्तावेज़ जोड़ने देता है।

--projectId फ्लैग यह निर्दिष्ट करता है कि रोल किस MongoDB Atlas प्रोजेक्ट का है।

कस्टम रोल हटाने के लिए चलाएँ:

atlas customDbRoles delete <roleName> --projectId <projectId>

किसी उपयोगकर्ता को कस्टम रोल असाइन करने की प्रक्रिया बिल्ट-इन रोल असाइन करने जैसी ही है। atlas dbusers create या atlas dbusers update कमांड्स के साथ --role फ्लैग का उपयोग करें:

atlas dbusers create --username analytics-user --password myPassword --role customAnalyticsRole --projectId <projectId>

डेटाबेस उपयोगकर्ता बनाने और रोल असाइन करने के बाद, आप अपने क्लस्टर से कनेक्ट करने के लिए तैयार हैं।

कनेक्शन स्ट्रिंग्स प्राप्त करें

कनेक्शन स्ट्रिंग में वह जानकारी होती है जिसकी आपके एप्लिकेशन्स को आपके Atlas क्लस्टर से कनेक्ट होने के लिए आवश्यकता होती है। इस स्ट्रिंग में क्लस्टर होस्टनेम, ऑथेंटिकेशन डेटाबेस और कनेक्शन विकल्प शामिल होते हैं।

कनेक्शन स्ट्रिंग उपयोग करने से पहले, सुनिश्चित करें कि आपने IP एक्सेस लिस्ट कॉन्फ़िगर कर ली है और कम से कम एक डेटाबेस उपयोगकर्ता बना लिया है।

किसी क्लस्टर की कनेक्शन स्ट्रिंग प्राप्त करें

किसी क्लस्टर की कनेक्शन स्ट्रिंग प्राप्त करने के लिए चलाएँ:

atlas clusters connectionStrings describe <clusterName> --projectId <projectId>

यह कमांड आपके क्लस्टर के लिए SRV कनेक्शन स्ट्रिंग लौटाती है।

कनेक्शन स्ट्रिंग फॉर्मैट

MongoDB Atlas दो प्रकार की कनेक्शन स्ट्रिंग प्रदान करता है:

स्टैंडर्ड कनेक्शन स्ट्रिंग (mongodb://): सभी क्लस्टर नोड्स को स्पष्ट रूप से सूचीबद्ध करता है। इसका उपयोग तब करें जब आपको व्यक्तिगत सर्वर पते निर्दिष्ट करने की आवश्यकता हो।

SRV कनेक्शन स्ट्रिंग (mongodb+srv://): DNS का उपयोग करके क्लस्टर जानकारी स्वतः प्राप्त करता है। यह अनुशंसित फॉर्मैट है क्योंकि आपके क्लस्टर कॉन्फ़िगरेशन में बदलाव होने पर यह अपने आप अपडेट हो जाता है।

कनेक्शन स्ट्रिंग का उपयोग करें

कनेक्शन स्ट्रिंग में <username> और <password> को अपने डेटाबेस उपयोगकर्ता क्रेडेंशियल्स से बदलें:

mongodb+srv://<username>:<password>@cluster0.example.mongodb.net/

उदाहरण के लिए, यदि आपका उपयोगकर्ता नाम appUser और पासवर्ड securePass123 है:

mongodb+srv://appUser:[email protected]/

इसके बाद आप इस कनेक्शन स्ट्रिंग का उपयोग MongoDB ड्राइवर्स, MongoDB शेल, या अन्य MongoDB टूल्स के साथ अपने क्लस्टर से कनेक्ट करने के लिए कर सकते हैं।

बैकअप प्रबंधित करें

बैकअप आपके डेटाबेस डेटा की प्रतिलिपियाँ हैं जिन्हें आप डेटा खो जाने या करप्ट होने पर अपने क्लस्टर को रिस्टोर करने के लिए उपयोग कर सकते हैं। Atlas नियमित शेड्यूल पर स्वचालित रूप से बैकअप बनाता है।

Automated continuous backups are only available for M10+ dedicated clusters. M0 free-tier clusters do not have backup capabilities. M2/M5 shared clusters have basic cloud backups, but not continuous backup. For more information, see [Snapshots for Flex Clusters](https://www.mongodb.com/docs/atlas/backup-restore-cluster/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant#snapshots-for-flex-clusters).

बैकअप प्रबंधित करने के लिए, आपके पास Atlas में Organization Owner या Project Owner एक्सेस होना चाहिए।

ऑन-डिमांड बैकअप बनाएँ

तुरंत बैकअप बनाने के लिए चलाएँ:

atlas backups snapshots create <clusterName> --desc "Backup description" --projectId <projectId>

उपरोक्त कमांड में --desc स्नैपशॉट का विवरण देने वाला आवश्यक फ्लैग है।

उपलब्ध बैकअप सूचीबद्ध करें

किसी क्लस्टर के सभी बैकअप सूचीबद्ध करने के लिए चलाएँ:

atlas backups snapshots list <clusterName> --projectId <projectId>

बैकअप कॉन्फ़िग्रेशन का विवरण

किसी क्लस्टर की बैकअप सेटिंग्स देखने के लिए चलाएँ:

atlas backups schedule describe <clusterName> --projectId <projectId>

बैकअप से रिस्टोर करें

बैकअप से डेटा रिस्टोर करने के लिए चलाएँ:

atlas backups restores start <clusterName> --snapshotId <snapshotId> --targetClusterName <targetClusterName> --projectId <projectId>

--snapshotId फ्लैग यह निर्दिष्ट करता है कि किस बैकअप को रिस्टोर करना है। --targetClusterName फ्लैग उस क्लस्टर का नाम निर्दिष्ट करता है जहाँ डेटा रिस्टोर होगा—उदाहरण के लिए:

atlas backups restores start myCluster --snapshotId 5f8e8d9a1b2c3d4e5f6g7h8i --targetClusterName myCluster-restored --projectId <projectId>

बैकअप हटाएँ

किसी बैकअप को हटाने के लिए चलाएँ:

atlas backups snapshots delete <snapshotId> --projectId <projectId>

निष्कर्ष

इस लेख में, मैंने आपको CLI कमांड्स की संरचना, डिप्लॉयमेंट बनाना, प्रोजेक्ट्स और क्लस्टर्स प्रबंधित करना, उपयोगकर्ता और रोल कॉन्फ़िगर करना, और बैकअप मैनेजमेंट के बारे में बताया। आप इन्हें स्क्रिप्ट्स में संयोजित करके इन प्रक्रियाओं को स्वचालित कर सकते हैं, जिससे कई परिवेश प्रबंधित करना और अपने डेवलपमेंट वर्कफ़्लो में डेटाबेस प्रबंधन को एकीकृत करना आसान हो जाता है।

FAQs

क्या मुझे हर बार MongoDB Atlas CLI उपयोग करते समय प्रमाणीकरण करना होगा?

नहीं। आप atlas auth login चलाने के बाद CLI आपका सत्र स्टोर करता है। हालाँकि, सुरक्षा कारणों से सत्र समय-समय पर समाप्त हो जाता है। आपको केवल तब फिर से प्रमाणीकरण करना होगा जब आपको "session expired" त्रुटि दिखे।

क्या मैं फ्री टियर (M0) क्लस्टर्स के साथ Atlas CLI का उपयोग कर सकता/सकती हूँ?

हाँ, आप अधिकांश ऑपरेशन्स जैसे उपयोगकर्ता बनाना, रोल प्रबंधित करना और क्लस्टर कॉन्फ़िगरेशन के लिए MongoDB Atlas CLI के साथ फ्री टियर क्लस्टर्स का प्रबंधन कर सकते हैं। हालाँकि, बैकअप ऑपरेशन्स फ्री या शेयर्ड-टियर क्लस्टर्स के लिए उपलब्ध नहीं हैं।

MongoDB Atlas उपयोगकर्ता रोल और डेटाबेस रोल में क्या अंतर है?

Atlas उपयोगकर्ता रोल (जैसे Organization Owner, Project Owner, और Project Cluster Manager) नियंत्रित करते हैं कि UI, CLI, या API के माध्यम से MongoDB Atlas प्लेटफ़ॉर्म को कौन प्रबंधित कर सकता है। डेटाबेस रोल (जैसे read, readWrite, और कस्टम रोल) नियंत्रित करते हैं कि डेटाबेस से कनेक्ट होने पर डेटाबेस उपयोगकर्ता क्या कर सकते हैं। डेटाबेस उपयोगकर्ताओं को डेटाबेस रोल बनाने और असाइन करने के लिए आपको उपयुक्त Atlas उपयोगकर्ता रोल की आवश्यकता होती है।

क्या मैं एक ही CLI इंस्टॉलेशन से कई MongoDB Atlas प्रोजेक्ट्स प्रबंधित कर सकता/सकती हूँ?

हाँ, आप एक ही CLI इंस्टॉलेशन से कई प्रोजेक्ट्स प्रबंधित कर सकते हैं। आप प्रमाणीकरण के दौरान कोई डिफ़ॉल्ट प्रोजेक्ट सेट कर सकते हैं, या अपनी कमांड्स में --projectId फ्लैग शामिल करके यह निर्दिष्ट कर सकते हैं कि किस प्रोजेक्ट का उपयोग करना है। कई ऑर्गनाइज़ेशन्स के साथ काम करने के लिए --orgId फ्लैग का उपयोग करें। आप अपने सभी प्रोजेक्ट्स को atlas projects list और ऑर्गनाइज़ेशन्स को atlas organizations list कमांड्स से सूचीबद्ध कर सकते हैं।

मैं अपना ऑर्गनाइज़ेशन ID और प्रोजेक्ट ID कैसे ढूँढूँ?

अपनी सभी ऑर्गनाइज़ेशन्स और उनके IDs देखने के लिए atlas organizations list चलाएँ। अपने सभी प्रोजेक्ट्स और उनके IDs देखने के लिए atlas projects list चलाएँ।

Damilola Oladele

लेखक

Damilola Oladele

विषय