ডেভসংকেত

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

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

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

    শেয়ার করুন

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

    • 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

      $count
    • 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
    • কোনো ভ্যালু পুল করা

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

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

      $last

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

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

    স্পন্সর