پرش به محتوا
نوین هاست
  • سرور مجازی
  • درباره ما
  • تماس با ما
  • بازارچه
  • دانشنامه
نوین هاست
  • سرور مجازی
    • برگشت
    • سرور مجازی ایران
      • برگشت
      • سرور مجازی برج میلاد
      • سرور مجازی زیرساخت
    • سرور مجازی اروپا
      • برگشت
      • سرور مجازی المان
      • سرور مجازی انگلیس
      • سرور مجازی فرانسه
      • سرور مجازی اتریش
      • سرور مجازی هلند
      • سرور مجازی بلغارستان
      • سرور مجازی مجارستان
      • سرور مجازی دانمارک
      • سرور مجازی سوئد
      • سرور مجازی جزیره من
      • سرور مجازی جمهوری چک
      • سرور مجازی ایتالیا
      • سرور مجازی فنلاند
      • سرور مجازی یونان
      • سرور مجازی سوئیس
      • سرور مجازی ایسلند
      • سرور مجازی کرواسی
      • سرور مجازی اسپانیا
    • سرور مجازی آسیا
      • برگشت
      • سرور مجازی ترکیه
      • سرور مجازی سنگاپور
      • سرور مجازی مالزی
      • سرور مجازی شیلی
      • سرور مجازی هنگ کنگ
      • سرور مجازی امارات
      • سرور مجازی ژاپن
      • سرور مجازی روسیه
    • سرور مجازی آمریکا
      • برگشت
      • سرور مجازی امریکا
      • سرور مجازی کانادا
    • سایر VPS ها
      • برگشت
      • سرور مجازی استرالیا
      • سرور مجازی رایگان
      • سرور مجازی اقتصادی
      • سرور مجازی ترید و بایننس
      • سرور مجازی با کارت گرافیک
      • سرور مجازی نیجریه
      • سرور مجازی بورس
      • سرور مجازی کلاس آنلاین
      • سرور مجازی کاهش پینگ
      • سرور مجازی والتر
      • سرور مجازی فارکس
      • سرور مجازی میکروتیک
      • سرور مجازی NVME
  • سرور اختصاصی
    • برگشت
    • سرور اختصاصی ایران
      • برگشت
      • سرور اختصاصی برج میلاد
      • سرور اختصاصی زیرساخت
    • سرور اختصاصی اروپا
      • برگشت
      • سرور اختصاصی آلمان
      • سرور اختصاصی ترکیه
      • سرور اختصاصی فنلاند
      • سرور اختصاصی هلند
      • سرور اختصاصی انگلیس
      • سرور اختصاصی فرانسه
    • سرور اختصاصی آمریکا
      • برگشت
      • سرور اختصاصی آمریکا
      • سرور اختصاصی کانادا
    • کولوکیشن
      • برگشت
      • آسیاتک
      • زیرساخت
  • هاست
    • برگشت
    • هاست دانلود
    • هاست نامحدود
    • هاست وردپرس
    • هاست ویندوز ایران
  • نوین پلاس +
  • پنل کاربری ارتباط با ما
  • سرور مجازی
  • سرور مجازی ایرانسرور مجازی حرفه ای از ایران
  • سرور مجازی اروپاپایداری و کیفیت ، سرعت بالا
  • سرور مجازی آسیاوب سرور لایت اسپید و امنیت و سرعت بالا
  • سایر VPS هابهینه برای فروشگاه های وردپرسی
  • سرور مجازی زیرساخت
    • سرور مجازی برج میلاد
  • سرور مجازی المان
    • سرور مجازی فرانسه
    • سرور مجازی سوئد
    • سرور مجازی اتریش
    • سرور مجازی اسپانیا
    • سرور مجازی انگلیس
    • سرور مجازی ایتالیا
    • سرور مجازی ایسلند
    • سرور مجازی بلغارستان
    • سرور مجازی سوئیس
    • سرور مجازی جزیره من
    • سرور مجازی جمهوری چک
    • سرور مجازی فنلاند
    • سرور مجازی دانمارک
    • سرور مجازی مجارستان
    • سرور مجازی هلند
    • سرور مجازی یونان
  • سرور مجازی شیلی
    • سرور مجازی روسیه
    • سرور مجازی ترکیه
    • سرور مجازی مالزی
    • سرور مجازی ژاپن
    • سرور مجازی سنگاپور
    • سرور مجازی هنگ کنگ
    • سرور مجازی امارات
  • سرور مجازی کانادا
    • سرور مجازی امریکا
    • سرور مجازی نیجریه
    • سرور مجازی استرالیا
    • سرور مجازی NVME
    • سرور مجازی با کارت گرافیک
    • سرور مجازی رایگان
    • سرور مجازی ترید و بایننس
    • سرور مجازی فارکس
    • سرور مجازی کلاس آنلاین
    • سرور مجازی میکروتیک
    • سرور مجازی والتر
    • سرور مجازی NVME
    • سرور مجازی اقتصادی
  • سرور اختصاصی
  • سرور اختصاصی ایرانمنابع کاملا اختصاصی و قدرتمند
  • سرور اختصاصی اروپابا ip اختصاصی از بهترین کشور ها
  • سرور اختصاصی آمریکاup time 99.99%
  • سایر VDS ها
  • برج میلاد
    • زیرساخت
  • سرور اختصاصی آلمان
    • سرور اختصاصی انگلیس
    • سرور اختصاصی ترکیه
    • سرور اختصاصی فرانسه
    • سرور اختصاصی فنلاند
    • سرور اختصاصی هلند
  • سرور اختصاصی آمریکا
    • سرور اختصاصی کانادا
  • کولوکیشن
  • آسیاتک
  • زیرساخت
  • هاست
  • دامنه
  • نوین پلاس +
021-49624 ورود / عضویت
لینوکس

راهنمای لینوکس

70
  • اجرای دستورات لینوکس در ویندوز
  • راه اندازی سایت در سرور لینوکس
  • IP شناور در اوبونتو و دبیان
  • بازیابی رمز root
  • آموزش بکاپ از سرور لینوکس
  • آموزش اجرای دستور از راه دور
  • ایجاد یوزر در لینوکس
  • تفاوت ipv4 با ipv6 چیست
  • دستور tar لینوکس
  • کانفیگ IPv6 در لینوکس
  • بکاپ گیری از سرور لینوکس
  • راه اندازی سایت در سرور
  • نصب فایروال در لینوکس
  • لیست کردن کاربران در لینوکس
  • پارتیشن بندی در لینوکس
  • بش bash چیست؟
  • آموزش تغییر نام فایل در لینوکس
  • آموزش نصب آلمالینوکس
  • آلمالینوکس
    • تبدیل Centos به AlmaLinux
    • نصب Visual Studio Code در آلمالینوکس
    • نصب پایتون روی آلمالینوکس
    • نصب Node.js در AlmaLinux
  • دبیان
    • ارتقا دبیان
  • اوبونتو
    • نصب NextCloud در اوبونتو
    • فعال کردن SSH اوبونتو
    • نصب ماینکرافت روی اوبونتو
    • نصب کاساندرا Cassandra در اوبونتو
    • آموزش نصب اوبونتو
    • نصب Graylog در اوبونتو
    • نصب Redis در اوبونتو
    • نصب Maven در اوبونتو
    • نصب تامکت در اوبونتو
    • آموزش نصب Ghost CMS در ubuntu
    • نصب GitLab در اوبونتو
    • نصب GCC در اوبونتو
    • نصب جاوا در اوبونتو
    • نصب و راه اندازی Bind DNS Server اوبونتو
    • نصب جنکینز در اوبونتو
    • نصب وردپرس در اوبونتو
    • نصب Oh My Zsh در اوبونتو
    • نصب پرومتئوس در اوبونتو
    • نصب Kubectl در اوبونتو
    • نصب PyTorch در اوبونتو
    • حذف داکر در اوبونتو
    • نصب آناکوندا
    • آموزش نصب Wine
    • آموزش نصب آپاچی کافکا
    • نصب Xrdp در اوبونتو
    • نصب وایرشارک در اوبونتو
    • آموزش نصب Go در اوبونتو
    • آموزش نصب MariaDB در اوبونتو
    • آموزش نصب Ansible
    • نصب درایور انویدیا در اوبونتو
    • آموزش نصب Hadoop
    • آموزش نصب Terraform
    • نصب و کانفیگ SSH در Ubuntu
    • نصب KVM در Ubuntu
    • نصب گوگل کروم در ubuntu
    • آموزش نصب گرافانا
    • چک کردن نسخه ubuntu
    • آموزش نصب phpMyAdmin در اوبونتو
    • آموزش نصب Postman
    • نصب داکر در اوبونتو
    • نصب Redis در اوبونتو
    • نصب MySQL در اوبونتو
    • نصب و کانفیگ آپاچی در اوبونتو
    • کران جاب در اوبونتو
    • ارتقا اوبونتو
    • نصب MongoDB در اوبونتو
    • نصب محیط گرافیکی در اوبونتو

تحقیق و توسعه

8
  • آموزش Portainer داکر
  • پاک کردن کش DNS
  • افزایش امنیت سرور
  • آموزش لود بالانسینگ
  • پیکربندی SSL در PostgreSQL
  • پایتون
    • ترکیب دو لیست در پایتون
    • تبدیل رشته به عدد در پایتون
    • معکوس کردن لیست در پایتون

سوالات متداول

4
  • رید (RAID) چیست؟
  • عمومی
    • ترافیک مورد نیاز سایت
    • SELinux چیست؟
    • محافظت در برابر حملات DDoS
View Categories
  • خانه
  • مستدات
  • راهنمای لینوکس
  • اوبونتو
  • نصب MongoDB در اوبونتو

نصب MongoDB در اوبونتو

زمان مطالعه: 15 دقیقه

این آموزش جامع به همراه مثال‌ها، نحوه نصب MongoDB روی سرور اوبونتو ۲۰.۰۴ را در هفت مرحله به شما نشان می‌دهد.

مونگو دی‌ بی چیست؟ #

MongoDB یک پایگاه داده NoSQL متن‌ باز و چندسکویی مبتنی بر سند است که در ساخت برنامه‌های سریع و مقیاس‌پذیر که حجم عظیمی از داده‌ها را مدیریت می‌کنند، محبوب است. برخلاف پایگاه‌های داده رابطه‌ای سنتی که داده‌ها در جداول ذخیره می‌شوند، MongoDB از فرمت JSON برای ذخیره داده‌ها در اسناد استفاده می‌کند. در فرمت JSON، داده‌ها در جفت‌های کلید-مقدار قالب‌بندی می‌شوند که در آن نام‌ها و مقادیر فیلدها با یک دونقطه از هم جدا شده و در داخل آکولاد قرار می‌گیرند.

با توجه به طرحواره انعطاف‌پذیر آن، MongoDB یک انتخاب طبیعی برای توسعه‌دهندگانی است که نیاز به ساخت برنامه‌های سریع و بسیار مقیاس‌پذیر دارند که بتوانند حجم بالایی از داده‌ها را پردازش کنند.

جدیدترین نسخه MongoDB نسخه ۵.۰ است که در ۱۳ جولای ۲۰۲۱ منتشر شد و با ویژگی‌ها و بهبودهای جدیدی عرضه می‌شود که شامل موارد زیر است:

  • رمزگذاری سمت کلاینت چند ابری.
  • اشتراک‌گذاری مجدد زنده پایگاه‌های داده.
  • پلتفرم سری زمانی بومی با توابع ویندوز و نمایه‌سازی خوشه‌ای.
  • یک API پایدار که ارتقاء به آخرین نسخه را بدون تأثیر بر کدبیس شما آسان می‌کند.
  • راهکار جستجوی متن کامل Atlas Search.

و خیلی چیزهای دیگر. می‌توانید با مراجعه به یادداشت‌های انتشار MongoDB 5.0 ، لیست جامعی از ویژگی‌ها و اصلاحات اضافی در آخرین نسخه MongoDB را پیدا کنید .

در این راهنما، ما بر نصب نسخه اجتماعی MongoDB در اوبونتو ۲۰.۰۴ تمرکز خواهیم کرد.

۷ مرحله برای نصب MongoDB در اوبونتو ۲۰.۰۴ #

بیایید با مثال‌هایی از فرآیند نصب MongoDB در اوبونتو، به جزئیات مراحل بپردازیم.

مرحله ۱: نصب MongoDB #

اولین قدم نصب بسته‌های پیش‌ نیاز مورد نیاز در طول نصب است. برای انجام این کار، دستور زیر را اجرا کنید.

sudo apt install -y software-properties-common gnupg apt-transport-https ca-certificates

مخازن رسمی اوبونتو بسته MongoDB را ارائه می‌دهند که می‌توان آن را با یک دستور و با استفاده از مدیر بسته APT به شرح زیر نصب کرد:

sudo apt install -y mongodb

با این حال، نسخه MongoDB ارائه شده توسط مخازن، آخرین نسخه نیست. در زمان انتشار این راهنما، نسخه ارائه شده توسط مخازن اوبونتو نسخه ۳.۶.۸ است. در همین حال، آخرین نسخه پایدار ارائه شده توسط MongoDB، نسخه ۵.۰ است.

برای نصب جدیدترین بسته MongoDB، باید مخزن بسته MongoDB را به فایل فهرست منابع خود در اوبونتو اضافه کنید.

اما ابتدا باید کلید عمومی MongoDB را با استفاده از دستور wget به صورت زیر در سیستم خود وارد کنید:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

این دستور خروجی زیر را تولید می‌کند که نشان می‌دهد کلید عمومی اضافه شده است.

خروجی:

OK

در مرحله بعد، مخزن APT مربوط به MongoDB را به /etc/apt/sources.list.dدایرکتوری اضافه کنید.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

این دستور mongodb-org-5.0.listفایل را به /etc/apt/sources.list.d/دایرکتوری اضافه می‌کند. این فایل شامل خط زیر است:

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse

پس از اضافه شدن مخزن، اندیس بسته محلی را مجدداً بارگذاری کنید.

sudo apt update

این دستور مخازن محلی را به‌روزرسانی می‌کند و اوبونتو را از مخزن جدید MongoDB مطلع می‌سازد.

وقتی این مشکل برطرف شد، mongodb-orgبسته‌ی متای ارائه‌دهنده‌ی MongoDB را نصب کنید.

sudo apt install -y mongodb-org

پس از اتمام نصب، می‌توانید نسخه MongoDB نصب شده را مطابق شکل زیر تأیید کنید:

mongod --version

این دستور خروجی‌هایی در مورد MongoDB از جمله نسخه و نسخه Git و سایر جزئیات را نمایش می‌دهد.

مرحله ۲: سرویس MongoDB را شروع و فعال کنید #

به طور پیش‌فرض، سرویس MongoDB هنگام نصب غیرفعال است. می‌توانید با اجرای دستور زیر این موضوع را تأیید کنید:

sudo systemctl status mongod

برای شروع سرویس MongoDB، دستور زیر را اجرا کنید:

sudo systemctl start mongod

یک بار دیگر، تأیید کنید که آیا سرویس در حال اجرا است:

sudo systemctl status mongod

از خروجی بالا، می‌توانید ببینید که MongoDB فعال و در حال اجرا است. علاوه بر این، می‌توانید با شروع اتصال به سرور پایگاه داده و اجرای یک دستور تشخیصی، از فعال و در حال اجرا بودن پایگاه داده اطمینان حاصل کنید.

دستور نشان داده شده به پایگاه داده متصل می‌شود و نسخه فعلی MongoDB، آدرس سرور و پورتی که به آن گوش می‌دهد را نمایش می‌دهد.

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

علاوه بر این، مقدار connectionStatusدستور داخلی MongoDB را برمی‌گرداند:

مقدار ۱ برای پارامتر «ok» نشان می‌دهد که سرور پایگاه داده طبق انتظار در حال اجرا است. در خط دوم، می‌توانید URL سرور را ببینید که آدرس میزبان محلی (۱۲۷.۰.۰.۱) و پورت پیش‌فرض (۲۷۰۱۷) است که MongoDB روی آن گوش می‌دهد.

همچنین می‌توانید پورت پیش‌فرض را به صورت زیر بررسی کنید

sudo ss -pnltu | grep 27017

پس از تأیید اجرای سرویس مطابق انتظار، اکنون می‌توانید MongoDB را فعال کنید تا در هنگام بوت شدن سیستم، مطابق شکل، شروع به کار کند.

sudo systemctl enable mongod

تا اینجا، MongoDB با موفقیت نصب و پیکربندی شده است تا هنگام بوت شدن سیستم شروع به کار کند.

مرحله ۳: ایجاد یک پایگاه داده و یک کاربر در MongoDB #

تا این مرحله، نمونه MongoDB شما باید در حال اجرا و پیکربندی برای دسترسی از راه دور باشد. اکنون بیایید دنده عوض کنیم و نحوه ایجاد یک پایگاه داده و یک کاربر در MongoDB را بررسی کنیم.

برای دسترسی به MongoDB، دستور زیر را اجرا کنید:

mongosh

قبل از اینکه به پوسته MongoDB بروید، اطلاعاتی در مورد MongoDB مانند نسخه MongoDB و پوسته MongoDB و همچنین URL مربوط به مستندات Mongosh را مشاهده خواهید کرد.

درست بالای اعلان پوسته Mongo، هشداری نیز مشاهده خواهید کرد که نشان می‌دهد کنترل دسترسی برای پایگاه داده فعال نشده است و دسترسی خواندن و نوشتن به داده‌ها و پیکربندی محدود شده است. این هشدار نمایش داده می‌شود زیرا احراز هویت هنوز فعال نشده است. بنابراین نگران نباشید، این هشدار پس از فعال شدن احراز هویت در پایگاه داده ناپدید می‌شود.

به طور پیش‌فرض، سه پایگاه داده وجود دارد که هنگام نصب ایجاد می‌شوند. اینها admin، config، ​​و هستند local. `برای فهرست کردن پایگاه‌های داده موجود، دستور زیر را اجرا کنید:

> show dbs

برای ایجاد یک پایگاه داده، useدستور زیر را به همراه نام پایگاه داده اجرا کنید. به عنوان مثال، برای ایجاد یک پایگاه داده به نام، employeesدستور زیر را اجرا کنید:

> use employees

برای تأیید پایگاه داده‌ای که در حال حاضر می‌توانید در آن قرار دهید، دستور را اجرا کنید . در این حالت، خروجی زیر را dbدریافت خواهید کرد:employees

> db

MongoDB تعدادی متد shell برای مدیریت پایگاه داده شما ارائه می‌دهد. این db.createUserمتد به شما امکان می‌دهد یک کاربر جدید در پایگاه داده ایجاد کنید.

این روش از شما می‌خواهد که نام کاربری و رمز عبور کاربر و هر نقشی که می‌خواهید به کاربر اعطا کنید را تعریف کنید. این اطلاعات در قالب JSON ارائه می‌شوند.

در اینجا نحوه ایجاد یک کاربر novinhostبا نقش‌های خواندن و نوشتن در employeesپایگاه داده آمده است.

db.createUser(
  {
    user: "novinhost",
    pwd: "some_password",
    roles: [ { role: "readWrite", db: "employees" } ]
  }
)

شما می‌توانید کاربران ایجاد شده را با استفاده از db.getUsers()روش نشان داده شده فهرست کنید.

db.getUsers();

روش دیگر، می‌توانید دستور زیر را اجرا کنید:

> show users

خروجی:

[
  {
    _id: 'employees.novinhost',
    userId: UUID("lcde5d41-fbba-4c94-806e-6a3c25709f02"),
    user: 'novinhost',
    db: 'employees',
    roles: [ { role: 'readWrite', db: 'employees' } ],
    mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
  }
]

برای حذف کاربر، از db.dropUserروشی که نشان داده شده است استفاده کنید.

db.dropUser("novinhost", {w: "majority", wtimeout: 4000})

خروجی:

{ ok: 1 }

مرحله ۴: امن‌سازی MongoDB #

در MongoDB، احراز هویت به طور پیش‌فرض فعال نیست، به این معنی که هر کاربری که به سرور پایگاه داده دسترسی دارد می‌تواند داده‌ها را بدون هیچ مجوزی مشاهده، اضافه و حذف کند. این یک آسیب‌پذیری جدی است که می‌تواند باعث نقض جدی داده‌های شما شود. با توجه به این موضوع، ما یک قدم جلوتر می‌رویم و نشان می‌دهیم که چگونه می‌توانید MongoDB را ایمن کنید.

اولین قدم ایجاد یک کاربر ادمین است و برای انجام این کار، ابتدا به Mongo Shell دسترسی پیدا کنید.

mongosh

سپس، به adminپایگاه داده متصل شوید یا به آن سوئیچ کنید.

> use admin

در مرحله بعد، با وارد کردن این خطوط و زدن کلید ENTER روی صفحه کلید، کاربر پایگاه داده را ایجاد کنید.

db.createUser(
  {
    user: "AdminNovinHost",
    pwd: passwordPrompt(),
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
 }
)

بیایید این کد را تجزیه کنیم.

این user: "AdminNovinHost"خط یک کاربر مدیریتی به نام AdminNovinHost ایجاد می‌کند .

این pwd: passwordPrompt()روش از شما رمز عبور کاربر ادمین را می‌خواهد. این یک جایگزین امن‌تر برای pwd:فیلدی است که از شما می‌خواهد رمز عبور را به صورت متن ساده تایپ کنید.

این roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]خط، نقش‌های اعطا شده به کاربر مدیریتی را مشخص می‌کند. در اینجا، به کاربر مدیریتی مجوزهای خواندن و نوشتن در adminپایگاه داده اعطا شده است. و از آنجایی که این نقش در پایگاه داده تعریف شده است admin، کاربر مدیریتی، در واقع، می‌تواند تمام پایگاه‌های داده موجود در خوشه را بخواند و تغییر دهد.

خروجی پس از اجرای دستور به صورت زیر است.

برای خروج از Mongo Shell، exitدستور را اجرا کنید یا را فشار دهید CTRL + C.

با قرار دادن کاربر Admin، مرحله بعدی فعال کردن احراز هویت است. برای انجام این کار، mongod.confفایل را باز کنید.

sudo nano /etc/mongod.conf

به پایین اسکرول کنید و security بخش مورد نظر را پیدا کنید. آن را از حالت کامنت خارج کنید و authorizationدستورالعمل را اضافه کنید و مقدار آن را قرار دهید enabled.

security:
  authorization: enabled

توجه داشته باشید که پارامتر در حالی که در ابتدا فاصله‌ای ندارد، authorizationتورفتگی دارد .security

تغییرات را ذخیره کرده و از فایل پیکربندی خارج شوید. برای اعمال تغییرات، سرویس Mongo را مطابق شکل مجدداً راه‌اندازی کنید.

sudo systemctl restart mongod

همچنین، حتماً بررسی کنید که آیا سرویس مطابق انتظار در حال اجرا است یا خیر.

sudo systemctl status mongod

حالا وارد Mongo Shell شوید.

mongosh

این بار متوجه خواهید شد که هشدارها ناپدید شده‌اند.

با این حال، اگر سعی کنید هر کار مرتبط با پایگاه داده مانند مشاهده پایگاه‌های داده را انجام دهید، خروجی‌ای دریافت خواهید کرد که نشان می‌دهد احراز هویت لازم است.

> show dbs

برای ورود با احراز هویت، ابتدا با اجرای exitدستور از Mongo Shell خارج شوید. سپس با استفاده از کاربر ادمین و با استفاده از سینتکس زیر وارد شوید.

mongosh  "mongodb://adminuser@mongo-ip-address:27017"

رمز عبور کاربر ادمین را وارد کنید، و این بار، تمام هشدارهای احراز هویت که قبلاً با آنها مواجه شده بودید، ناپدید خواهند شد.

از این مرحله به بعد، فقط کاربر ادمین (administrator) دسترسی مشاهده، ایجاد و تغییر داده‌ها در پایگاه‌های داده را خواهد داشت.

مرحله ۵: پیکربندی MongoDB برای دسترسی از راه دور #

به طور پیش‌فرض، دسترسی به MongoDB به صورت محلی روی همان سروری که روی آن نصب شده است، تنظیم شده است. برای فعال کردن دسترسی از راه دور، باید /etc/mongod.confفایلی را که فایل پیکربندی اصلی MongoDB است، ویرایش کنید.

این شامل تنظیماتی برای محل ذخیره پایگاه داده، ثبت وقایع، شبکه و مدیریت فرآیند است که به چند مورد اشاره می‌کنیم.

بنابراین، با استفاده از ویرایشگر متن خود به فایل پیکربندی دسترسی پیدا کنید.

sudo nano /etc/mongod.conf

بخش مورد نظر را پیدا کنید network interfacesو به مقدار آن توجه کنید bindIP.

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1

به طور پیش‌فرض، MongoDB به آدرس ۱۲۷.۰.۰.۱ که رابط loopback است، محدود شده است. این بدان معناست که MongoDB فقط قادر به پذیرش اتصالات از همان سروری است که در آن نصب شده است.

برای اجازه دسترسی از راه دور، یک کاما اضافه کنید و سپس آدرس IP سرور Mongo را به دنبال آن بنویسید.

   bindIp: 127.0.0.1, mongo-server-ip

تغییرات را ذخیره کنید و از فایل پیکربندی خارج شوید. برای اعمال تغییرات ایجاد شده، سرویس MongoDB را مجدداً راه اندازی کنید.

sudo systemctl restart mongod

اگر UFW را فعال کرده‌اید، دستور زیر را اجرا کنید تا اتصالات ورودی از یک دستگاه راه دور مجاز شود.

sudo ufw allow from remote_machine_ip to any port 27017

برای اعمال تغییرات، فایروال را مجدداً بارگذاری کنید.

sudo ufw reload

مرحله ۶: دسترسی از راه دور به MongoDB #

چند راه برای دسترسی از راه دور به پوسته MongoDB وجود دارد. می‌توانید از ابزار netcat برای شروع اتصال TCP به پورت ۲۷۰۱۷ استفاده کنید که پورت پیش‌فرضی است که MongoDB به آن گوش می‌دهد.

اگر netcat روی دستگاه کلاینت نصب نشده است، آن را به صورت زیر نصب کنید.

sudo apt install netcat

برای برقراری اتصال به سرور MongoDB از طریق پورت ۲۷۰۱۷، دستور زیر را اجرا کنید:

nc -zv mongodb_server_ip 27017

خروجی زیر نشان می‌دهد که اتصال با موفقیت انجام شده است.

خروجی:

Connection to mongodb_server_ip 27017 port [tcp/*] succeeded!

به عنوان یک روش جایگزین، می‌توانید با استفاده از Mongo Shell به صورت زیر وارد سیستم شوید.

mongosh "mongodb://username@mongo_server_ip:27017"

پوسته به طور خودکار از شما رمز عبور کاربر ادمین را درخواست می‌کند.

💡 نکته حرفه‌ای: هنگام استفاده از گزینه ورود به سیستم Mongo Shell، اطمینان حاصل کنید که نسخه Mongo shell روی کلاینت و سرور MongoDB از راه دور یکسان باشد.

مرحله ۷: کار با پایگاه داده MongoDB #

عملیات پایگاه داده‌ی نسبتاً زیادی وجود دارد که می‌توانید در MongoDB انجام دهید. برای مثال، می‌توانید رکوردهایی از یک پایگاه داده را createایجاد کنید retrieve.updatedelete

درج داده #

برای ایجاد یک سند در یک مجموعه، از .insertOne()متد استفاده کنید. این متد از چندین نوع داده مانند رشته‌ها، اعداد صحیح، مقادیر بولی و آرایه‌ها پشتیبانی می‌کند.

در مرحله قبل، یک پایگاه داده آزمایشی به نام employees ایجاد کردیم . اکنون یک مجموعه ایجاد می‌کنیم و چند سند به آن اضافه می‌کنیم. یک مجموعه شامل یک یا چند سند است.

دستور زیر مجموعه‌ای به نام staff ایجاد می‌کند و سندی را با برخی از داده‌های کاربر، همانطور که نشان داده شده است، اضافه می‌کند.

db.staff.insertOne({ name: "Alice", age: 25, city: "London", married: true, hobbies: ["Travelling", "Swimming", "Cooking"] })

پس از اجرای موفقیت‌آمیز دستور، خروجی زیر را دریافت خواهید کرد.

خروجی:

{
  acknowledged: true,
  insertedId: ObjectId("62647ff866c1f054568a11b5")
}

بازیابی داده‌ها #

با سندی که از قبل در staffمجموعه ایجاد شده است، می‌توانید آن را بازیابی کرده و نتایج را با استفاده از این .find()روش فیلتر کنید.

برای مثال، برای بازیابی تمام اسناد موجود در staffمجموعه، دستور زیر را اجرا کنید:

db.staff.find()

خروجی:

[
  {
    _id: ObjectId("62647ff866c1f054568a11b5"),
    name: 'Alice',
    age: 25,
    city: 'London',
    married: true,
    hobbies: [ 'Travelling', 'Swimming', 'Cooking' ]
  }
]

حالا بیایید یک کار بلندپروازانه انجام دهیم. چند سند دیگر اضافه می‌کنیم و چند پرس‌وجو روی مجموعه اجرا می‌کنیم.

db.staff.insertOne({ name: "Bob", age: 29, city: "Liverpool", married: false, hobbies: ["Hiking", "Watching movies", "Driving"] })
db.staff.insertOne({ name: "Winnie", age: 25, city: "Bristol", married: true, hobbies: ["Playing chess", "Surfing", "Painting"] })

برای پرس و جو از سوابق کارمندانی که متاهل هستند، دستور زیر را اجرا کنید:

db.staff.find({ married: true })

خروجی فقط سوابق کارمندان متاهل را ارائه می‌دهد.

خروجی:

[
  {
    _id: ObjectId("62647ff866c1f054568a11b5"),
    name: 'Alice',
    age: 25,
    city: 'London',
    married: true,
    hobbies: [ 'Travelling', 'Swimming', 'Cooking' ]
  },
  {
    _id: ObjectId("626483d6b490694bc675b767"),
    name: 'Winnie',
    age: 25,
    city: 'Bristol',
    married: true,
    hobbies: [ 'Playing chess', 'Surfing', 'Painting' ]
  }
]

به‌روزرسانی داده‌ها #

برای به‌روزرسانی یا تغییر رکوردها، از این .update()متد استفاده کنید. در این مثال، نشان می‌دهیم که چگونه می‌توانید nameمقدار رکورد دوم را از Bob به Robert تغییر دهید .

db.staff.update({ name: "Bob" }, {$set: { name: "Robert" }})

خروجی نشان داده شده تأیید می‌کند که به‌روزرسانی رکورد با موفقیت انجام شده است.

خروجی:

{
  acknowledged: true,
  insertedId: null,
  matchedCount: 1,
  modifiedCount: 1,
  upsertedCount: 0
}

اکنون می‌توانید به صورت زیر پرس‌وجو کنید تا ببینید آیا می‌توانید رکوردی پیدا کنید که با نام Robert مطابقت داشته باشد یا خیر.

db.staff.find({ name: "Robert" })

خروجی:

[
  {
    _id: ObjectId("626483c8b490694bc675b766"),
    name: 'Robert',
    age: 29,
    city: 'Liverpool',
    married: false,
    hobbies: [ 'Hiking', 'Watching movies', 'Driving' ]
  }
]

حذف داده‌ها #

پوسته MongoDB دو روش برای حذف رکوردها ارائه می‌دهد:

.deleteOne()
.deleteMany() 

این .deleteOne()روش برای حذف یک رکورد یا سند از یک مجموعه استفاده می‌شود.

این .deleteMany()متد چندین سند را از یک مجموعه حذف می‌کند.

بهترین راه برای حذف یک رکورد، استفاده از _idمقدار آن رکورد است. این یک مقدار منحصر به فرد است که به هر رکورد داده می‌شود و نسبت به تعریف ورودی‌های تکی، همانطور که در زیر نشان داده شده است، ترجیح داده می‌شود، زیرا در این صورت هر رکوردی که نام را دارد، حذف می‌شود Robert.

db.staff.deleteOne({ name: "Robert"})

بنابراین، برای حذف ایمن رکورد Robert بدون تأثیر بر سایر رکوردهایی که مقدار نام یکسانی دارند، _idبه جای آن مقدار را مشخص کنید.

db.staff.deleteOne({ _id: ObjectId("626483c8b490694bc675b766")})

خروجی:

{ acknowledged: true, deletedCount: 1 }

علاوه بر این، می‌توانید اسناد را بر اساس یک معیار خاص حذف کنید. در این حالت، از .deleteMany()روش حذف چندین رکورد استفاده کنید.

برای مثال، برای حذف تمام اسناد موجود در مجموعه کارکنان که کارمندان آن متاهل هستند، دستور زیر را اجرا کنید:

db.staff.deleteMany({married: true})

خروجی:

{ acknowledged: true, deletedCount: 1 }

برای حذف تمام اسناد موجود در مجموعه، از .deleteMany()متد بدون هیچ آرگومانی استفاده کنید:

db.staff.deleteMany({})

اگر سعی کنید از مجموعه پرس و جو کنید، متوجه خواهید شد که خروجی خالی خواهد بود، که نشان می‌دهد تمام اسناد حذف شده‌اند و اکنون مجموعه خالی است.

نتیجه‌گیری #

MongoDB یک پایگاه داده NoSQL قدرتمند و انعطاف‌پذیر است که محبوبیت آن رو به افزایش است. این یک پایگاه داده محبوب برای ساخت برنامه‌های کاربردی حیاتی است که حجم عظیمی از داده‌های بدون ساختار را مدیریت می‌کنند.

در این راهنما، نحوه نصب و شروع به استفاده از MongoDB در اوبونتو ۲۰.۰۴ را آموختید. برای اطلاعات بیشتر، به مستندات رسمی MongoDB  مراجعه کنید.

Updated on مهر ۱۴, ۱۴۰۴

نظر شما چیست؟!

  • Happy
  • Normal
  • Sad

Related Docs

  • نصب NextCloud در اوبونتو
  • فعال کردن SSH اوبونتو
  • نصب ماینکرافت روی اوبونتو
  • نصب کاساندرا Cassandra در اوبونتو
  • آموزش نصب اوبونتو
  • نصب Graylog در اوبونتو
  • نصب Redis در اوبونتو
  • نصب Maven در اوبونتو
  • نصب تامکت در اوبونتو
  • آموزش نصب Ghost CMS در ubuntu
  • نصب GitLab در اوبونتو
  • نصب GCC در اوبونتو
  • نصب جاوا در اوبونتو
  • نصب و راه اندازی Bind DNS Server اوبونتو
  • نصب جنکینز در اوبونتو
  • نصب وردپرس در اوبونتو
  • نصب Oh My Zsh در اوبونتو
  • نصب پرومتئوس در اوبونتو
  • نصب Kubectl در اوبونتو
  • نصب PyTorch در اوبونتو
  • حذف داکر در اوبونتو
  • نصب آناکوندا
  • آموزش نصب Wine
  • آموزش نصب آپاچی کافکا
  • نصب Xrdp در اوبونتو
  • نصب وایرشارک در اوبونتو
  • آموزش نصب Go در اوبونتو
  • آموزش نصب MariaDB در اوبونتو
  • آموزش نصب Ansible
  • نصب درایور انویدیا در اوبونتو
  • آموزش نصب Hadoop
  • آموزش نصب Terraform
  • نصب و کانفیگ SSH در Ubuntu
  • نصب KVM در Ubuntu
  • نصب گوگل کروم در ubuntu
  • آموزش نصب گرافانا
  • چک کردن نسخه ubuntu
  • آموزش نصب phpMyAdmin در اوبونتو
  • آموزش نصب Postman
  • نصب داکر در اوبونتو
  • نصب Redis در اوبونتو
  • نصب MySQL در اوبونتو
  • نصب و کانفیگ آپاچی در اوبونتو
  • کران جاب در اوبونتو
  • ارتقا اوبونتو
  • نصب MongoDB در اوبونتو
  • نصب محیط گرافیکی در اوبونتو

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
نصب محیط گرافیکی در اوبونتوارتقا اوبونتو

2 پاسخ

  1. behnam گفت:
    آبان ۸, ۱۴۰۴ در ۱۰:۴۰ ق٫ظ

    سلام از این اموزش استفاده کردم تشکر می کنم کارم راه افتاد

    پاسخ
    1. سعید نادری گفت:
      آبان ۸, ۱۴۰۴ در ۱۰:۴۴ ق٫ظ

      خوشحالیم که برای شما مفید بوده است

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطلب
  • مونگو دی‌ بی چیست؟
  • 7 مرحله برای نصب MongoDB در اوبونتو 20.04
    • مرحله ۱: نصب MongoDB
    • مرحله 2: سرویس MongoDB را شروع و فعال کنید
    • مرحله 3: ایجاد یک پایگاه داده و یک کاربر در MongoDB
    • مرحله 4: امن‌سازی MongoDB
    • مرحله 5: پیکربندی MongoDB برای دسترسی از راه دور
    • مرحله 6: دسترسی از راه دور به MongoDB
    • مرحله 7: کار با پایگاه داده MongoDB
      • درج داده
      • بازیابی داده‌ها
      • به‌روزرسانی داده‌ها
      • حذف داده‌ها
  • نتیجه‌گیری
نوین هاست

نوین هاست ارائه دهنده خدمات میزبانی، فروش انواع سرورهای مجازی و اختصاصی ایران و خارج برترین لوکیشن ها و استفاده از بهترین سخت افزارها با پشتیبانی 7/24

نماد اعتماد نوین هاست
لوگو ساماندهی
نظام صنفی رایانه ای کشور
دانش بنیان

دسترسی سریع

  • سرور مجازی
  • سرور مجازی ایران
  • سرور اختصاصی
  • هاست اشتراکی
  • ثبت دامنه
  • درباره ما
  • قوانین سرویس دهی

سرورهای مجازی

  • سرور مجازی المان
  • سرور مجازی فرانسه
  • سرور مجازی انگلیس
  • سرور مجازی امریکا
  • سرور مجازی کانادا
  • سرور مجازی فنلاند
  • سرور مجازی هلند

سرورهای اختصاصی

  • سرور اختصاصی ایران
  • سرور اختصاصی برج میلاد
  • سرور اختصاصی زیرساخت
  • سرور اختصاصی خارج
  • سرور اختصاصی آلمان
  • سرور اختصاصی فرانسه
  • سرور اختصاصی آمریکا
تمام حقوق این سایت محفوظ و متعلق به نوین هاست می باشد.
Facebook Twitter Youtube Whatsapp Instagram Telegram