MongoDB / MongoDB Atlas (cloud)

MongoDB Atlas (cloud)

MongoDB Atlas нь MongoDB-ийн албан ёсны cloud үйлчилгээ юм. Суулгах, тохируулах, хадгалах дэд бүтцийг бүгдийг нь Atlas хариуцдаг тул хөгжүүлэгч зөвхөн өгөгдөлтэйгээ ажиллана. Үнэгүй M0 tier нь сурах, жижиг төслүүдэд хангалттай.

Atlas бүртгэл үүсгэж, cluster ажиллуулах

  1. mongodb.com/atlasTry Free товч
  2. И-мэйл болон нууц үгээр бүртгүүлэх
  3. Create a deploymentM0 Free сонгох
  4. Cloud provider: AWS, Google Cloud, эсвэл Azure — аль нь ч болно
  5. Cluster нэр өгөөд Create — 1-2 минут хүлээнэ

Database Access — хэрэглэгч үүсгэх

Cluster үүссэний дараа холбогдох хэрэглэгч үүсгэнэ:

  1. Зүүн цэс → Database AccessAdd New Database User
  2. Authentication method: Password
  3. Username ба нууц үг оруулах
  4. Role: Atlas admin (сурах зорилгоор) → Add User

Network Access — IP зөвшөөрөх

  1. Зүүн цэс → Network AccessAdd IP Address
  2. Allow Access from Anywhere (0.0.0.0/0) → Confirm

Production-д зөвхөн тодорхой IP-г нэмэх нь аюулгүй.

Atlas UI: Collections харах

  1. DatabaseBrowse Collections
  2. Database болон collection-уудаа харах
  3. Filter хэсэгт query бичиж шүүх боломжтой:
javascript
// Browser дотрх Filter хэсэгт
{
  age: {
    $gt: 18;
  }
}

Document-уудыг шууд засах, устгах, шинэ document нэмэх боломжтой.

Atlas Search нь full-text хайлт хийх боломж олгодог — MongoDB-ийн дотоод функц.

  1. Atlas Search таб → Create Search Index
  2. Index тохиргоо → Create Search Index
  3. Aggregation pipeline-д $search stage ашиглана:
javascript
db.products.aggregate([
  {
    $search: {
      index: "default",
      text: {
        query: "MongoDB",
        path: "title",
      },
    },
  },
  { $limit: 10 },
]);

Atlas Charts

Кодгүйгээр өгөгдлийг дүрслэх хэрэгсэл:

  1. Charts таб → Add Dashboard
  2. Add Chart → Data source сонгох (collection)
  3. X axis, Y axis талбаруудаа чирж тавих
  4. Chart төрөл: Bar, Line, Pie, Scatter гэх мэт

Connection string — Node.js

Atlas-тай холбогдох мөрийг авах:

  1. DatabaseConnectDrivers
  2. Driver: Node.js → хувилбар сонгох
  3. Connection string хуулах
javascript
// 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

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 файлд хадгал:

bash
# .env
MONGODB_URI=mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/myDatabase
javascript
// Node.js-д ашиглах
require("dotenv").config();
const client = new MongoClient(process.env.MONGODB_URI);

.env файлыг .gitignore-д нэмэхээ мартуузай — эс тэгвэл нууц үг GitHub-т дэлгэгдэнэ.

Дараагийн хичээлд:

Node.js-д MongoDB-г хэрхэн илүү хялбараар ашиглах Mongoose сангийн талаар үзнэ.