MongoDB
ابرکلیک یک نمونه 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 | پشتیبانی میشود |
تراکنشهای چندسندی (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 در خروجی 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 شامل تمام اطلاعات لازم (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
حذف پایگاه داده برگشتناپذیر است. تمام دادهها و بکاپهای خودکار پاک میشوند.
محدودیتها
| محدودیت | مقدار |
|---|---|
| حداکثر اندازه هر document | 16 MB |
| حداکثر تعداد database در هر instance | بدون محدودیت |
| دسترسی عمومی | از طریق gateway (پلنهای پولی) |
برای اتصال از محیط توسعه محلی یا ابزارهای خارجی (مثل MongoDB Compass)، اطلاعات gateway در abrclick db credentials نمایش داده میشود. این قابلیت در پلنهای باران و بالاتر در دسترس است.