MongoDB Atlas (cloud)
MongoDB Atlas нь MongoDB-ийн албан ёсны cloud үйлчилгээ юм. Суулгах, тохируулах, хадгалах дэд бүтцийг бүгдийг нь Atlas хариуцдаг тул хөгжүүлэгч зөвхөн өгөгдөлтэйгээ ажиллана. Үнэгүй M0 tier нь сурах, жижиг төслүүдэд хангалттай.
Atlas бүртгэл үүсгэж, cluster ажиллуулах
- mongodb.com/atlas — Try Free товч
- И-мэйл болон нууц үгээр бүртгүүлэх
- Create a deployment → M0 Free сонгох
- Cloud provider: AWS, Google Cloud, эсвэл Azure — аль нь ч болно
- Cluster нэр өгөөд Create — 1-2 минут хүлээнэ
Database Access — хэрэглэгч үүсгэх
Cluster үүссэний дараа холбогдох хэрэглэгч үүсгэнэ:
- Зүүн цэс → Database Access → Add New Database User
- Authentication method: Password
- Username ба нууц үг оруулах
- Role: Atlas admin (сурах зорилгоор) → Add User
Network Access — IP зөвшөөрөх
- Зүүн цэс → Network Access → Add IP Address
- Allow Access from Anywhere (0.0.0.0/0) → Confirm
Production-д зөвхөн тодорхой IP-г нэмэх нь аюулгүй.
Atlas UI: Collections харах
- Database → Browse Collections
- Database болон collection-уудаа харах
- Filter хэсэгт query бичиж шүүх боломжтой:
// Browser дотрх Filter хэсэгт
{
age: {
$gt: 18;
}
}
Document-уудыг шууд засах, устгах, шинэ document нэмэх боломжтой.
Atlas Search
Atlas Search нь full-text хайлт хийх боломж олгодог — MongoDB-ийн дотоод функц.
- Atlas Search таб → Create Search Index
- Index тохиргоо → Create Search Index
- Aggregation pipeline-д
$searchstage ашиглана:
db.products.aggregate([
{
$search: {
index: "default",
text: {
query: "MongoDB",
path: "title",
},
},
},
{ $limit: 10 },
]);
Atlas Charts
Кодгүйгээр өгөгдлийг дүрслэх хэрэгсэл:
- Charts таб → Add Dashboard
- Add Chart → Data source сонгох (collection)
- X axis, Y axis талбаруудаа чирж тавих
- Chart төрөл: Bar, Line, Pie, Scatter гэх мэт
Connection string — Node.js
Atlas-тай холбогдох мөрийг авах:
- Database → Connect → Drivers
- Driver: Node.js → хувилбар сонгох
- Connection string хуулах
// Node.js холболт
const { MongoClient } = require("mongodb");
const uri =
"mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majority";
const client = new MongoClient(uri);
async function run() {
try {
await client.connect();
const db = client.db("myDatabase");
const users = db.collection("users");
const result = await users.findOne({ username: "bold" });
console.log(result);
} finally {
await client.close();
}
}
run();
Connection string — Python
from pymongo import MongoClient
uri = "mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majority"
client = MongoClient(uri)
db = client["myDatabase"]
users = db["users"]
user = users.find_one({"username": "bold"})
print(user)
.env файлд нууц мэдээлэл хадгалах
Connection string-ийг кодонд шууд бичихгүй — .env файлд хадгал:
# .env
MONGODB_URI=mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/myDatabase
// Node.js-д ашиглах
require("dotenv").config();
const client = new MongoClient(process.env.MONGODB_URI);
.env файлыг .gitignore-д нэмэхээ мартуузай — эс тэгвэл нууц үг GitHub-т дэлгэгдэнэ.
Дараагийн хичээлд:
Node.js-д MongoDB-г хэрхэн илүү хялбараар ашиглах Mongoose сангийн талаар үзнэ.