ডেভসংকেত

মঙ্গোডিবি চিটশিট

মঙ্গোডিবির প্রয়োজনীয় সব অপারেশন নিয়ে চিটশিট

কন্ট্রিবিউটর

  • jaamaal95
  • shaonkabir8
  • theshekraguy
  • zonayedpca

শেয়ার করুন

উবুন্টু তে ইনস্টলেশন

  • curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
  • apt-key list
  • echo 'deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
  • sudo apt update
  • sudo apt install mongodb-org

সিস্টেম সম্পর্কিত তথ্য দেখা

  • sudo systemctl status mongod

সিস্টেম সার্ভিস বন্ধ করা

  • sudo systemctl stop mongod

সিস্টেম সার্ভিস রিস্টার্ট করা

  • sudo systemctl restart mongod

মেশিন বুট টাইমে মঙ্গোডিবি সার্ভিস অটো চালু করা বন্ধ করতে

  • sudo systemctl disable mongod

সাধারণ

  • মঙ্গোডিবির সার্ভার স্টার্ট করা

    mongod
  • মঙ্গোডিবির কন্সোল ওপেন করা

    mongo
  • সার্ভারের ডাটাবেসগুলো দেখানো

    show dbs
  • অন্য কোনো ডাটাবেসে সুইচ করা

    use <ডাটাবেস>
  • সব কালেকশন দেখানো

    show collections
  • কোনো কালেকশন(যেমন এখানেঃ coll) এর উপর কমান্ড

    db.coll.<কমান্ড>
  • কোনো কমান্ডের হেল্প প্রিন্ট করা

    help
  • প্রতি কালেকশনে কত টাইম খরচ হয়েছে সেটা দেখানো

    ./mongotop
  • মঙ্গোডিবি সিস্টেমে স্নাপশট দেখানো

    ./mongostat

ডকুমেন্ট আপডেট করা

  • পুরো ডকুমেন্ট রিপ্লেস করে ফেলা

    db.coll.update({name : 'শাওমি'}, {name : 'রেডমি'}) 
  • ডকুমেন্ট এর কোনো অ্যাট্রিবিউট মডিফাই করা

    db.coll.update({name : 'সামসাং'}, {$set : {type : 'ফ্ল্যাগশিপ', series : 'নোট'}})
  • ডকুমেন্ট থেকে কোনো অ্যাট্রিবিউট রিমুভ করা

    db.coll.findOne().prettyPrint()

ইন্ডেক্স নিয়ে কাজ করা

  • ইন্ডেক্স তৈরী করা

    db.coll.ensureIndex({name: 1})
  • ইন্ডেক্স ড্রপ করা

    db.coll.dropIndex({name: 1})
  • কম্পাউন্ড ইন্ডেক্স তৈরী করা

    db.coll.ensureIndex({name: 1, type: 1, model: 0}) 
  • কম্পাউন্ড ইন্ডেক্স ড্রপ করা

    db.coll.dropIndex({name: 1, type: 1, model: 0})
  • ইউনিক কম্পাউন্ড ইন্ডেক্স তৈরী করা

    db.coll.ensureIndex({name: 1, type: 1, model: 0}, {unique: true}) 

এসকিউএল এবং মঙ্গোডিবি

  • WHERE

    $match
  • GROUP BY

    $group
  • HAVING

    $match
  • SELECT

    $project
  • ORDER BY

    $sort
  • LIMIT

    $limit
  • SUM

    $sum
  • COUNT

    $sum
  • JOIN

    $lookup

মঙ্গডিবি ডাটা ইমপোর্ট এবং এক্সপোর্ট

  • JSON ফরম্যাটে ডাটা ইমপোর্ট করতে

    mongoimport --uri '<Atlas Cluster URI>' --drop=<filename>.json
  • JSON ফরম্যাটে ডাটা এক্সপোর্ট করতে

    mongoexport --uri '<Atlas Cluster URI>' --collection=<collection_name> --out=<filename>.json
  • BSON ফরম্যাটে ডাটা ইমপোর্ট করতে

    mongorestore --uri '<Atlas Cluster URI>' --drop dump
  • BSON ফরম্যাটে ডাটা এক্সপোর্ট করতে

    mongodump --uri '<Atlas Cluster URI>'

সিস্টেম সার্ভিস রান করা

  • sudo systemctl start mongod.service

মেশিন বুট টাইমে মঙ্গোডিবি সার্ভিস অটো চালু করা

  • sudo systemctl enable mongod

সিস্টেম সার্ভিস বন্ধ থাকলে রান করা

  • sudo systemctl start mongod

মঙ্গোডিবি সার্ভিস সংযোগ তথ্য দেখা

  • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

ডকুমেন্ট ইনসার্ট করা

  • db.coll.insert({name: 'নাম', type: 'টাইপ', model: 'মডেল', series: 'সিরিজ'})
  • db.coll.insert({name: 'শাওমি', type: 'স্মার্টফোন', model: 'নোট ৫', series: 'নোট'})
  • db.coll.insert({name: 'শাওমি', type: 'স্মার্টফোন', model: 'নোট ৫ প্রো', series: 'নোট'})
  • db.coll.insert({name: 'সামসাং', type: 'ফিচার', model: 'গ্যালাক্সি ৯', series: 'গ্যালাক্সি'})

ডকুমেন্ট খোঁজা

  • যেকোনো একটা ডকুমেন্ট খোঁজা

    db.coll.findOne()
  • সব ডকুমেন্ট খোঁজা

    db.coll.find()
  • সব ডকুমেন্ট খোঁজা এবং সুন্দরভাবে ফরম্যাটে দেখানো

    db.coll.findOne().prettyPrint()
  • শুধুমাত্র একটা অ্যাট্রিবিউট দেখানো(যেমনঃ শুধুমাত্র name দেখানো)

    db.coll.find({}, {name:true, _id:false})
  • কোনো অ্যাট্রিবিউট ম্যাচ করে একটা ডকুমেন্ট খোঁজা

    db.coll.findOne({'name':'শাওমি'})

ডকুমেন্ট রিমুভ করা

  • ডকুমেন্ট সরাসরি রিমুভ করা

    db.coll.remove({name : 'সামসাং'})
  • ডকুমেন্ট অপারেটর দিয়ে রিমুভ করা

    db.ships.remove({name:{$regex:'সা\sং'}}

ইন্ডেক্স - হিন্ট এবং স্টেটিস্টিক্স

  • ইন্ডেক্স ইউসেজ এক্সপ্লেইন করা

    db.coll.find({'name':'শাওমি'}).explain()
  • ইন্ডেক্স ড্রপ করা

    db.coll.stats()
  • কম্পাউন্ড ইন্ডেক্স তৈরী করা

    db.coll.totalIndexSize() 

মিলিতকরন এক্সপ্রেশন

  • ভ্যালু একসাথে যোগ করা

    $sum
  • এভারেজ হিসেব করা

    $avg
  • মিনিমাম ভ্যালু খোঁজা

    $min
  • ম্যাক্সিম্যাম ভ্যালু খোঁজা

    $max
  • কোনো ভ্যালু পুশ করা

    $push
  • কোনো ভ্যালু পুশ করা(ডুপ্লিকেট ছাড়া)

    $addToSet
  • প্রথম ডকুমেন্ট পাওয়া

    $first
  • শেষ ডকুমেন্ট পাওয়া

    $last

ডেভসংকেত সম্পর্কে

ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

স্পন্সর