MongoDB Shell (mongosh)
mongosh бол MongoDB-тэй командын мөрөөр харилцах албан ёсны хэрэгсэл. Database үүсгэх, document оруулах, query ажиллуулах бүх үйлдлийг mongosh-оор хийж болно.
mongosh суулгах
Windows
mongosh татах хуудас хаягаас Windows MSI татаж суулгана.
Суулгасны дараа Command Prompt-д шалгана:
mongosh --version
# Гаралт: 2.x.x
macOS
brew install mongosh
Linux (Ubuntu)
sudo apt-get install -y mongodb-mongosh
Atlas-д холбох
Atlas cluster-тайгаа холбогдохын тулд connection string шаардлагатай.
Connection string авах:
- Atlas dashboard → "Connect" дарна
- "Shell" сонгоно
- Connection string хуулна
mongosh "mongodb+srv://mycluster.xxxxx.mongodb.net/" --username myuser
Нууц үгийг асуухад оруулна. Амжилттай холбогдвол:
Current Mongosh Log ID: 64abc1234567890abcdef012
Connecting to: mongodb+srv://...
Using MongoDB: 7.0.x
Using Mongosh: 2.x.x
Atlas atlas-xxxxx-shard-0 [primary] test>
test> prompt харагдвал холбогдсон. Одоо байгаа database нь test.
Локал холболт:
mongosh
# эсвэл
mongosh "mongodb://localhost:27017"
Үндсэн команд
Database харах ба сонгох
// Байгаа бүх database-г харах
show dbs
// Гаралт:
// admin 0.000 GB
// local 0.000 GB
// test 0.000 GB
// Database сонгох (байхгүй бол автоматаар үүснэ)
use school
// Одоо байгаа database-г харах
db
// Гаралт: school
Анхаарна уу:
use schoolхийсэн чschooldatabase нь эхний document оруулах хүртэлshow dbs-д харагдахгүй.
Collection харах
// Одоо байгаа database-ийн collection-уудыг харах
show collections
// Гаралт (хэрэв байвал):
// students
// courses
Тусламж авах
// Ерөнхий тусламж
help;
// Тодорхой команды тусламж
db.help();
db.students.help();
Хурдан эхлэх — анхны жишээ
// 1. School database руу орох
use school
// 2. Student нэмэх
db.students.insertOne({
name: "Болд Батаа",
age: 22,
city: "Улаанбаатар"
})
// Гаралт:
// {
// acknowledged: true,
// insertedId: ObjectId('64abc1234567890abcdef012')
// }
// 3. Бүх student-ийг харах
db.students.find()
// Гаралт:
// [
// {
// _id: ObjectId('64abc1234567890abcdef012'),
// name: 'Болд Батаа',
// age: 22,
// city: 'Улаанбаатар'
// }
// ]
Хэрэгтэй тушаалууд
Ерөнхий
| Команд | Тайлбар |
| ------------------ | ------------------------ |
| show dbs | Бүх database жагсаах |
| use <db> | Database сонгох / үүсгэх |
| db | Одоогийн database харах |
| show collections | Collection жагсаах |
| exit | Гарах |
| cls | Дэлгэц цэвэрлэх |
Collection
| Команд | Тайлбар |
| ----------------------------- | ----------------- |
| db.createCollection("name") | Collection үүсгэх |
| db.name.drop() | Collection устгах |
| db.dropDatabase() | Database устгах |
Статистик
// Database-ийн дэлгэрэнгүй мэдээлэл
db.stats();
// Collection-ийн дэлгэрэнгүй мэдээлэл
db.students.stats();
// Collection дахь document тоо
db.students.countDocuments();
mongosh Editor горим
Урт код бичихэд editor горим ашиглана:
// Editor нээх
edit myFunction
// Эсвэл олон мөр бичих
// Enter дарахад автоматаар илрүүлнэ
db.students.insertOne({
name: "Дорж", // Enter → үргэлжилнэ
age: 25, // Enter → үргэлжилнэ
city: "Дархан" // Enter → үргэлжилнэ
}) // Enter → ажиллуулна
.mongoshrc.js — тохиргоо файл
Гэрийн директорт .mongoshrc.js файл үүсгэж mongosh эхлэх бүрт ажиллуулах код бичиж болно:
// ~/.mongoshrc.js
console.log("MongoDB Shell бэлэн!");
// Богино нэрс тодорхойлох
const s = db.students;
Нийтлэг алдаа ба шийдэл
Холбогдохгүй байна:
MongoNetworkError: connection timed out
→ Atlas IP whitelist шалгана. Одоогийн IP нэмэгдсэн эсэхийг шалгана.
Нэвтрэх алдаа:
MongoServerError: Authentication failed
→ Username, нууц үгийг шалгана. Нууц үгэнд тусгай тэмдэгт (@, # гэх мэт) байвал URL encode хийх шаардлагатай.
Database харагдахгүй:
show dbs // school харагдахгүй
→ Хамгийн багадаа нэг document оруулсны дараа харагдана.
Дараагийн хичээлд:
insertOne ба insertMany ашиглан collection-д document оруулна.