پرش به مطلب اصلی

MongoDB

ویدیو: راه‌اندازی MongoDB مدیریت‌شدهplaceholder — ویدیو را اینجا جایگزین کنید

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

نسخه پشتیبانی‌شده

نسخهوضعیت
MongoDB 7.0پشتیبانی‌شده (پیش‌فرض)

ایجاد پایگاه داده

برای ایجاد یک پایگاه داده MongoDB:

abrclick db create --name mydb --type mongo

پس از اجرا، خروجی مشابه زیر نمایش داده می‌شود:

✓ پایگاه داده در حال راه‌اندازی است...
نام: mydb
نوع: MongoDB 7.0
وضعیت: provisioning
شناسه: db_a1b2c3d4

معمولاً ۱ تا ۲ دقیقه طول می‌کشد.

برای مشاهده وضعیت تا زمان آماده شدن:

abrclick db info db_a1b2c3d4

توپولوژی بر اساس پلن

توپولوژی پایگاه داده MongoDB بسته به پلن شما متفاوت است:

پلنتوپولوژیتراکنش‌ها
ابر (رایگان)تک‌نودپشتیبانی نمی‌شود
بارانتک‌نودپشتیبانی نمی‌شود
برفتک‌نودپشتیبانی نمی‌شود
رعد۳ نود Replica Setپشتیبانی می‌شود
طوفان۳ نود Replica Setپشتیبانی می‌شود
سازمانی۳ نود Replica Setپشتیبانی می‌شود
تراکنش‌های MongoDB

تراکنش‌های چندسندی (multi-document transactions) در MongoDB فقط روی Replica Set کار می‌کنند. اگر برنامه شما از تراکنش‌ها استفاده می‌کند، به پلن رعد یا بالاتر نیاز دارید. هنگام اتصال، ممکن است نیاز باشد پارامتر authSource=admin را به رشته اتصال اضافه کنید.

مشاهده اطلاعات اتصال

برای دریافت اطلاعات کامل اتصال:

abrclick db credentials db_a1b2c3d4

خروجی نمونه برای پلن تک‌نود:

اطلاعات اتصال — mydb
──────────────────────────────────────────────
Host: mongo-a1b2c3d4.internal.abrclick.ir
Port: 27017
Database: mydb
Username: mydb_user
Password: s3cur3P@ssw0rd
URI: mongodb://mydb_user:s3cur3P@ssw0rd@mongo-a1b2c3d4.internal.abrclick.ir:27017/mydb

خروجی نمونه برای پلن Replica Set (رعد و بالاتر):

اطلاعات اتصال — mydb
──────────────────────────────────────────────
Replica Set: rs0
Members:
mongo-a1b2c3d4-0.internal.abrclick.ir:27017
mongo-a1b2c3d4-1.internal.abrclick.ir:27017
mongo-a1b2c3d4-2.internal.abrclick.ir:27017
Username: mydb_user
Password: s3cur3P@ssw0rd
URI: mongodb://mydb_user:s3cur3P@ssw0rd@mongo-a1b2c3d4-0.internal.abrclick.ir:27017,mongo-a1b2c3d4-1.internal.abrclick.ir:27017,mongo-a1b2c3d4-2.internal.abrclick.ir:27017/mydb?replicaSet=rs0
نام Replica Set

نام Replica Set در خروجی db credentials نمایش داده می‌شود. برای اتصال صحیح از درایورهای MongoDB، پارامتر replicaSet را در URI حتماً وارد کنید.

اتصال مستقیم با mongosh

برای باز کردن یک shell تعاملی مستقیماً روی پایگاه داده:

abrclick db connect db_a1b2c3d4

این دستور به طور خودکار mongosh را با اطلاعات اتصال صحیح راه‌اندازی می‌کند:

Current Mongosh Log ID: 64f1a2b3c4d5e6f7
Connecting to: mongodb://...
Using MongoDB: 7.0.x
Using Mongosh: 2.x.x

mydb>

اتصال از برنامه

لینک کردن پایگاه داده به اپلیکیشن

ساده‌ترین روش، لینک کردن پایگاه داده به اپلیکیشن است. پس از لینک، متغیر محیطی MONGO_URL به طور خودکار به کانتینر برنامه تزریق می‌شود:

abrclick apps link --app app_xyz --db db_a1b2c3d4

پس از لینک، در کد برنامه فقط کافی است از متغیر محیطی استفاده کنید:

Node.js (Mongoose)

import mongoose from "mongoose";

const uri = process.env.MONGO_URL;

await mongoose.connect(uri, {
// برای Replica Set این گزینه خودکار از URI خوانده می‌شود
});

Node.js (MongoDB Driver)

import { MongoClient } from "mongodb";

const client = new MongoClient(process.env.MONGO_URL);
await client.connect();

const db = client.db(); // از URI database name خوانده می‌شود

Python (PyMongo)

import os
from pymongo import MongoClient

client = MongoClient(os.environ['MONGO_URL'])
db = client.get_default_database()

Python (Motor — async)

import os
import motor.motor_asyncio

client = motor.motor_asyncio.AsyncIOMotorClient(os.environ['MONGO_URL'])
db = client.get_default_database()

Go

import (
"context"
"os"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)

uri := os.Getenv("MONGO_URL")
client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))

PHP (Laravel)

در فایل .env یا config/database.php:

// config/database.php
'mongodb' => [
'driver' => 'mongodb',
'dsn' => env('MONGO_URL'),
'database' => env('MONGO_DATABASE', 'mydb'),
],
متغیر محیطی MONGO_URL

وقتی پایگاه داده را به اپلیکیشن لینک می‌کنید، MONGO_URL شامل تمام اطلاعات لازم (host، port، username، password، database name و در صورت نیاز replicaSet) است. نیازی به هیچ پیکربندی اضافه‌ای ندارید.

مدیریت پایگاه داده

مشاهده لیست پایگاه‌های داده

abrclick db list

مشاهده اطلاعات پایگاه داده

abrclick db info db_a1b2c3d4

خروجی نمونه:

نام: mydb
نوع: MongoDB 7.0
وضعیت: running
توپولوژی: replica-set (rs0)
فضای مصرفی: 1.2 GB / 20 GB
پروژه: my-project
تاریخ ایجاد: ۱۴۰۵/۰۴/۰۸

حذف پایگاه داده

abrclick db delete db_a1b2c3d4
هشدار حذف

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

محدودیت‌ها

محدودیتمقدار
حداکثر اندازه هر document16 MB
حداکثر تعداد database در هر instanceبدون محدودیت
دسترسی عمومیاز طریق gateway (پلن‌های پولی)
دسترسی از خارج

برای اتصال از محیط توسعه محلی یا ابزارهای خارجی (مثل MongoDB Compass)، اطلاعات gateway در abrclick db credentials نمایش داده می‌شود. این قابلیت در پلن‌های باران و بالاتر در دسترس است.