MongoDB Aggregation

MongoDB সীমাবদ্ধ রেকর্ডস
নয়ন চন্দ্র দত্ত

* Limit() পদ্ধতি
MongoDB তে রেকর্ডকে সীমাবদ্ধ করতে হলে limit() মেথড বা পদ্ধতি ব্যবহার করতে হবে। Limit() পদ্ধতি এক নাম্বারের টাইপ সমর্থন করে যা ডকুমেন্টের নাম্বার এবং আপনি প্রদর্শন করতে চাইছেন।

সিনট্যাক্সঃ
limit() এর বেসিক সিনট্যাক্স নিম্নরূপঃ

>db.COLLECTION_NAME.find().limit(NUMBER)

উদাহরণঃ
নিম্নলিখিত তথ্যের সাথে myycol কালেকশনটি বিবেচনা করুনঃ

{ “_id” : ObjectId(5983548781331adf45ec5), “title”:”MongoDB Overview”}
{ “_id” : ObjectId(5983548781331adf45ec6), “title”:”NoSQL Overview”}
{ “_id” : ObjectId(5983548781331adf45ec7), “title”:”Tutorials Point Overview”}

ডকুমেন্ট quering এর সময় নিচের উদাহরণটি কেবলমাত্র ২টি ডকুমেন্ট প্রদর্শন করবেঃ

>db.mycol.find({},{“title”:1,_id:0}).limit(2)
{“title”:”MongoDB Overview”}
{“title”:”NoSQL Overview”}
>

যদি আপনি Limit() পদ্ধতিতে ডকুমেন্টের নাম্বার উল্লেখ না করেন তাহলে এটি কালেকশনের সকল ডকুমেন্ট প্রদর্শন করবে।

* MongoDB Skip() পদ্ধতি
এছাড়াও limit() পদ্ধতি ছাড়া আরও একটি পদ্ধতি skip() আছে যা ডকুমেন্টের সংখ্যার টাইপ সমর্থন করে এবং সেই নাম্বারের ডকুমেন্ট এড়িয়ে(skip) চলে।

সিনট্যাক্সঃ
skip() এর বেসিক সিনট্যাক্স নিম্নরূপঃ

>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

উদাহরণঃ
নিম্নলিখিত উদাহণটি শুধু দ্বিতীয় ডকুমেন্ট প্রদর্শন করবেঃ

>db.mycol.find({},{“title”:1,_id:0}).limit(1).skip(1)
{“title”:”NoSQL Overview”}
>

অনুগ্রহ করে লক্ষ্য করুন- skip() পদ্ধতিতে ডিফল্ট মান ০ ।

পিএইচপি ৫ কমপ্লিট ফর্ম উদাহরণ (PHP 5 Complete Form Example)

ইনপুট ফিল্ড এর টাইপ করা ডাটা যদি ইউজার সাবমিট বাটন ক্লিক করার পর দেখতে চায় আমরা কিছু পিএইচপি কোড যুক্ত করব ইনপুট ফিল্ড এর মধ্যে (name, email, and website)। কমেন্ট টেক্সট এরিয়া এর মধ্যে আমরা পিএইচপি কোড যুক্ত করব <textarea> and </textarea> এই ট্যাগ এর ভিতরে। এই চারটি ফিল্ড এর জন্য রাখা হয়েছে $name, $email, $website, and $comment এই variables গুলোকে ব্যবহার করা হয়েছে। আমাদের এরপর লক্ষ্য রাখতে হবে যে রেডিও বাটন চেক করা হয়েছে কিনা। এই চারটি ফিল্ড ব্যবহার করে আমরা যদি কোড এর দিকে লক্ষ্য করি


Name: <input type="text" name="name" value="<?php echo $name;?>">
 
 E-mail: <input type="text" name="email" value="<?php echo $email;?>">
 
 Website: <input type="text" name="website" value="<?php echo $website;?>">
 
 Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
 
 Gender:
 <input type="radio" name="gender"
 <?php if (isset($gender) && $gender=="female") echo "checked";?>
 value="female">Female
 <input type="radio" name="gender"
 <?php if (isset($gender) && $gender=="male") echo "checked";?>
 value="male">Male

 

 

পিএইচপি – সম্পূর্ণ ফর্ম উদাহরণ


PHP Form Validation Example

* required field.

 

Name: * E-mail: *

Website:

Comment:

Gender: Female Male *

Your Input:

 



 

মংগোডিবি ডাটাটাইপ (MongoDB Data Types)

MongoDB ডেটাটাইপ্স
নয়ন চন্দ্র দত্ত

MongoDB অনেক ডেটাটাইপ্স সমর্থন করে যার তালিকা নিচে দেওয়া হলঃ

১। স্ট্রিং এই সবচেয়ে বেশি ব্যবহৃত ডেটাটাইপ যা তথ্য সংরক্ষণ করার কাজে ব্যবহার করা হয়। MongoDB স্ট্রিং UTF-8 বৈধ হতে হবে।

২। ইন্টিজারঃ একটি সংখ্যাগত মান সংরক্ষণ করার জন্য এই টাইপ ব্যবহার করা হয়। পূর্ণসংখ্যা 32 বিট বা 64 বিট আপনার সার্ভারের উপর নির্ভর করে হতে পারে।

৩। বুলিয়ানঃ এই ধরনের টাইপ একটি বুলিয়ান (সত্য / মিথ্যা ) সংরক্ষণ করতে ব্যবহৃত হয়।

৪। ডাবলঃ এই ধরনের টাইপ ফ্লোটিং পয়েন্ট মান ধারণ করার জন্য ব্যবহৃত হয়।

৫। মিন/মেক্স কীঃ এই ধরনের টাইপ সর্বনিম্ন মানের বিরুদ্ধে একটি মানকে এবং সর্বোচ্চ BSON উপাদানকে তুলনা করতে ব্যবহৃত হয়।

৬। অ্যারেঃ এই ধরনের টাইপ অ্যারে বা লিস্ট বা একাধিক মান একটা key এর মধ্যে ধারণ করার জন্য ব্যবহৃত হয়।

৭। টাইমস্ট্যাম্পঃ যখন একটি ডকুমেন্ট পরিবর্তন বা যোগ করা হয় তখন এটি রেকর্ডিং এর জন্য সুবিধাজনক ।

৮। অবজেক্টঃ এই ডেটাটাইপ এমবেডেড ডকুমেন্ট এর জন্য ব্যবহৃত হয়।

৯। নালঃ এই ধরনের টাইপ একটি নাল মান ধারণ করার জন্য ব্যবহার করা হয়।

১০। সিম্বল বা প্রতীকঃ এই ডেটাটাইপ অনুরূপভাবে একটি স্ট্রিং এ ব্যবহার করা হয় কিন্তু, এটা সাধারণত এমন ভাষার জন্য সংরক্ষিত আছে যা একটি নির্দিষ্ট প্রতীক টাইপ ব্যবহার করে।

১১। ডেট বা তারিখঃ এই ডেটাটাইপ ইউনিক্স সময় বিন্যাসে বর্তমান তারিখ বা সময় সংরক্ষণে ব্যবহৃত হয়। তারিখের অবজেক্ট তৈরি করে এবং তাতে দিন , মাস, বছর দিয়ে আপনার নিজের তারিখ ও সময় নির্দিষ্ট করতে পারেন।

১২। অবজেক্ট আইডিঃ এই ডেটাটাইপ ডকুমেন্ট আইডি সংরক্ষণ করতে ব্যবহৃত হয়।

১৩। বাইনারি ডেটাঃ এই ডেটাটাইপ বাইনারি তথ্য সংরক্ষণ করতে ব্যবহৃত হয়।

১৪। কোডঃ এই ডেটাটাইপ ডকুমেন্টে জাভাস্ক্রিপ্ট কোড সংরক্ষণ করতে ব্যবহৃত হয়।

১৫। রেগুলার এক্সপ্রেশনঃ এই ডেটাটাইপ রেগুলার এক্সপ্রেশন সংরক্ষণ করতে ব্যবহৃত হয়।

MongoDB Replication (প্রতিলিপিকরণ)

Mir Rasel
Jahangirnagar University
Dhaka, Bangladesh

প্রতিলিপিকরণ একটি প্রক্রিয়া যা কয়েকটি সার্ভারের মধ্যে ডাটা সিঙ্ক্রোনাইজ করে।
প্রতিলিপিকরণ আপনাকে ডাটা প্রাচুর্যতা দিবে এবং ডাটার উপস্থিতির কয়েকটি কপি বিভিন্ন সার্ভারে রাখবে, প্রতিলিপিকরণ একটি একক সার্ভার থেকে আপনার ডাটা হারিয়ে যাওয়াকে রক্ষা করবে। এই প্রতিলিপিকরণ আরও আপনাকে দিবে হার্ডওয়্যার নষ্ট হয়ে যাওয়া থেকে ডাটা পুনরুদ্ধারের সুবিধা।
আপনার ডাটার অaন্যান্য কপি থেকে আপনি একটি দুর্যোগ রিকভারি, রিপ্ররটিং এবং ব্যাক আপের জন্য রাখতে পারবেন।

প্রতিলিপিকরণ কেনো দরকার?

• আপনার ডাটা নিরাপদ রাখার জন্য
• ডাটার উপস্থিতি (২৪/৭) রাখা
• দুর্যোগের সময় পুনরুদ্ধার করার জন্য
• কোনো ডাউনটাইম রক্ষণাবেক্ষণের দরকার নাই ( যেমনঃ ব্যাকআপ, ইন্ডেক্স পুন্রায় গঠন, কম্প্যাকশন)
• রিড স্কেলিং ( পড়ার জন্য অতিরিক্ত রাখা)
• প্রতিলিপি সেট অ্যাপ্লিকেশনের জন্য স্বচ্ছ রাখা

যেভাবে MongoDB প্রতিলিপি কাজ করে
MongoDB আর্কাইভ প্রতিলিপিকরণ রেপ্লিকা সেটে ব্যবহৃত হয়। রেপ্লিকা সেট হলো একটি mongod এর গ্রুপ উদাহরণ হিসেবে বলা যায় এটি একটি হোস্ট যা একই ডাটা রাখে। একটি রেপ্লিকা নোডের মধ্যে প্রাইমারী নোড নামে একটি নোড আছে যা সকল লিখিত অপারেশন গ্রহণ করে।
অন্য উদাহরণ, প্রাথমিক অপারেশন গুলোর মধ্যমে মাধ্যমিক অপারেশন গুলো সম্পন্ন হয় যার কারণে উভয়েই একই ডাটা সেট থাকে। রেপ্লিকা সেটে শুধুমাত্র একটি প্রাথমিক নোড আছে।
১. রেপ্লিকা সেট হলো একটি দুই বা ততোধিক নোডের গ্রপ। ( সাধারণত তিনটি নোদের দরকার হয় )
২. একটি রেপ্লিকা সেটে একটি নোড হলো প্রাস্থমিক নোড এবং বাকীগুলো হলো মাধ্যমিক ন…
৩. সব ডাটা প্রাথমিক নোড থেকে মাধ্যমিক নোডে প্রতিলিপি হয়।
৪. সয়ংক্রিয় ফেইল অভার বা রক্ষণাবেক্ষনের সময়, প্রাথমিক নির্বাচন স্থাপনের সময় আরেকটি নতুন নোড নির্বাচিত হয়।।
৫. বিফলে যাওয়া নোডের রিকভারি সম্পন্ন হওয়ার পর, এটি আবার রেপ্লিকা সেটে যোগ দেয় এবং মাধ্যমিক নোড হিসেবে কাজ করে।

সাধারণত mongodb এর একটি নকশা দেখানো হয় যে ক্লায়েন্ট এপ্লিকেশন সবসময় প্রাথমিক নোডের সাথে যোগাযোগ রাখে এবং প্রাথমিক নোড এরপরে মাধ্যমিক নোডে ডাটা প্রতিলিপি করে।

রেপ্লিকা সেটের ফিচারসমূহঃ
• একটি ক্লাস্টার এন নোড
• যেকোনো নোড প্রাথমিক হতে পারে
• সকল লেখা অপারেশন প্রাথমিকে যায়
• সয়ংক্রিয় ফেইলঅভার
• সয়ংক্রিয় রিকোভারি
• প্রাথমিক নির্বাচনের ঐক্য

পিএইচপি ৫ তারিখ ও সময় (PHP 5 Date and Time)

PHP Date() ফাংশন

PHP Date() ফাংশন এর মাধ্যমে সহজে ও সঠিকভাবে সময় (time) ও তারিখ (date) দেখানো যায়।
সিনটেক্স


date(format,timestamp)

 

প্যারামিটার বর্ণনা
format আবশ্যিক বা Required. এর সাহায্যে timestamp এর ফরমেট নির্দিষ্ট করা হয়।
timestamp ঐচ্ছিক বা Optional. এর সাহায্যে timestamp নির্দিষ্ট করা হয়। সাধারণত Default হিসাবে current সময় ও তারিখ দেখানো হয়।

কোনো একটি ইভেন্ট সংঘটিত হলে নির্দিষ্ট date ও time এর একটি character এর একটি সেট প্রদর্শন করাই হলো timestamp.

সাধারণ তারিখ পেতে

date() function এর আবশ্যিক format প্যারামিটারের সাহায্যে date (or time) এর format কেমন হবে তা নির্দিষ্ট করা হয়।

নিম্নে কিছু character আলোচনা করা হলো যা date এর জন্য বেশি ব্যবহৃত হয়:

  • – d – এর সাহায্যে মাসের দিন নির্ধারণ করা হয় (০-৩১)
  • – m – এর সাহায্যে মাস নির্ধারণ করা হয় (১-১২)
  • – Y – এর সাহায্যে বছর নির্ধারণ করা হয় (চার সংখ্যা)
  • – l (lowercase ‘L’)- এর সাহায্যে সপ্তাহের দিন নির্ধারণ করা হয়

এছাড়াও অতিরিক্ত formatting যুক্ত করার জন্য বিভিন্ন character এর মাঝখানে “/”, “.”, বা “-” ব্যবহার করা যেতে পারে।

নিম্নে উদাহরণের সাহায্যে আজকের তারিখ ৩টি উপায়ে দেখানো হলো:


<?php
 echo "Today is " . date("Y/m/d") . "<br>";
 echo "Today is " . date("Y.m.d") . "<br>";
 echo "Today is " . date("Y-m-d") . "<br>";
 echo "Today is " . date("l");
 ?>

 

PHP টিপস – স্বয়ংক্রিয় Copyright Year

নিম্নোক্ত date() function টি ব্যবহার করে আপনার ওয়েবসাইটে copyright year এর তথ্য স্বয়ংক্রিয়ভাবে update হবে।
উদাহরণ:


© 2010-< ?php echo date(“Y”)?>


 

সাধারণভাবে সময় পেতে

নিম্নে কিছু character আলোচনা করা হলো যা time এর জন্য বেশি ব্যবহৃত হয়:

  • h – এটি ১২-ঘন্টা format কে নির্দেশ করে যা ০১ হতে ১২ পর্যন্ত হতে পারে।
  • i – এটি মিনিটের format কে নির্দেশ করে যা ০০ হতে ৫৯ পর্যন্ত হতে পারে।
  • s- এটি সেকেন্ডের format কে নির্দেশ করে যা ০০ হতে ৫৯ পর্যন্ত হতে পারে।
  • a- এটি Lowercase Ante meridiem ও Post meridiem কে নির্দেশ করে (am অথবা pm)

নিম্নে উদাহরণের সাহায্যে বর্তমান সময়কে একটি নির্দিষ্ট format এ দেখানো হলো:

উদাহরণ:


< ?php
 echo "The time is " . date("h:i:sa");
 ?>

নোট: PHP date() function টি শুধুমাত্র সার্ভারের কারেন্ট সময়কে নির্দেশ করে থাকে।

 

আপনার সময় অঞ্চল পেতে

যদি সার্ভার হতে প্রাপ্ত তারিখ ও সময় সঠিক না হয় তাহলে খুব সম্ভবত আপনার সার্ভারটি অন্যদেশে অবস্থিত অথবা অন্য কোনো টাইমজোন (timezone) সেট করা আছে। সুতরাং কোনো নির্দিষ্ট স্থানের জন্য সময়/তারিখ নির্ধারণ করতে হলে আপনাকে সে স্থানের টাইমজোন ব্যবহার করতে হবে।
নিম্নোক্ত উদহারণে “America/New_York” এর টাইমজোন সেট করে একটি নির্দিষ্ট ফরমেটে current time বা বর্তমান সময়কে দেখানো হলো:
উদাহরণ:


< ?php
 date_default_timezone_set("America/New_York");
 echo "The time is " . date("h:i:sa");
 ?>

 

PHP mktime() এর সাহায্যে তারিখ তৈরি

date() function এর optional timestamp এর সাহায্যে একটি timestamp কে নির্দিষ্ট করা যায়। যদি আপনি কোন timestamp কে নির্দিষ্ট না করে থাকেন তাহলে পূর্বের উদাহরণ গুলোর মতো current date and time দেখাবে।

mktime() function টি কোনো তারিখের Unix timestamp কে return করে বা দেখায়। Unix timestamp এর সাহায্যে Unix Epoch (January 1 1970 00:00:00 GMT) ও নির্দিষ্টকৃত দিনের মধ্যকার সেকেন্ডকে দেখানো হয়।

সিনট্যাক্স


mktime(hour,minute,second,month,day,year)

 

mktime() function প্যারামিটারের একটি উদাহরণ নিম্নে দেখানো হলো:


< ?php
 $d=mktime(11, 14, 54, 8, 12, 2014);
 echo "Created date is " . date("Y-m-d h:i:sa", $d);
 ?>

 

PHP strtotime() এর সাহায্যে একটি স্ট্রিং থেকে একটি তারিখ তৈরি করুন

PHP strtotime() function এর সাহায্যে মানুষের পাঠ্যযোগ্য সময়কে Unix সময়ে convert করা হয়।

সিনট্যাক্স


strtotime(time,now)

 

নিম্নোক্ত উদাহরণে strtotime() function এর সাহায্যে দিন ও তারিখ দেখানো হলো:


< ?php
 $d=strtotime("10:30pm April 15 2014");
 echo "Created date is " . date("Y-m-d h:i:sa", $d);
 ?>

 

দিন ও তারিখে convert করার ক্ষেত্রে PHP যথেষ্ট বুদ্ধিমত্তার পরিচয় দেয়, এক্ষেত্রে আপনি ভিন্ন ভিন্ন value যোগ করতে পারেন:


<?php
 $d=strtotime("tomorrow");
 echo date("Y-m-d h:i:sa", $d) . "<br>";
 
 $d=strtotime("next Saturday");
 echo date("Y-m-d h:i:sa", $d) . "<br>";
 
 $d=strtotime("+3 Months");
 echo date("Y-m-d h:i:sa", $d) . "<br>";
 ?>

 

মনে রাখবেন, strtotime() টি perfect নাও হতে পারে, এক্ষেত্রে আপনি যেসকল strings যোগ করেছেন সেগুলো চেক করতে ভুলবেন না।

 

তারিখের আরো কিছু উদাহরণ

নিম্নোক্ত উদাহরণে পরবর্তী ৬টি শনিবারের তারিখ বের করে দেখানো হয়েছে:


<?php
 $startdate = strtotime("Saturday");
 $enddate = strtotime("+6 weeks",$startdate);
 
 while ($startdate < $enddate) {
   echo date("M d", $startdate),"<br>";
   $startdate = strtotime("+1 week", $startdate);
 }
 ?>

 

নিম্নোক্ত উদাহরণে পরবর্তী ৪ জুলাই তারিখ পর্যন্ত দিনের সংখ্যা বের করা হয়েছে:


<?php
 $d1=strtotime("July 04");
 $d2=ceil(($d1-time())/60/60/24);
 echo "There are " . $d2 ." days until 4th of July.";
 ?>

 

সম্পূর্ণ পিএইচপি তারিখ রেফারেন্স

সকল date function এর complete reference পেতে PHP Date Reference অনুচ্ছেদটি দেখুন।

 

[In Bengali] MongoDB Drop Collection . MongoDB ড্রপ কালেকশন

MongoDB ড্রপ কালেকশন
নয়ন চন্দ্র দত্ত

কেমন আছেন সবাই? আজ আমি আপনাদের জন্য নিয়ে এলাম একটি নতুন টিউটোরিয়াল – MongoDB ড্রপ কালেকশন । তাহলে চলুন আজকের টিউটোরিয়াল সম্পর্কে ।

drop() পদ্ধতি
MongoDB এর ডেটাবেস থেকে একটি কালেকশন ড্রপ করতে db.collection.drop() ব্যবহৃত হয়।

সিনট্যাক্স:
drop() কমান্ডের বেসিক সিনট্যাক্স বা বাক্য গঠন নিম্নরূপঃ

db.COLLECTION_NAME.drop()

উদাহরণ:
প্রথমত, আপনার mydb ডেটাবেসের মধ্যে available আছে এমন কালেকশন চেক করে নিন।

>use mydb
switched to db mydb
>show collections
mycol
mycollection
system.indexes
tutorialspoint
>

এখন mycollection এই নাম দিয়ে কালেকশনটি ড্রপ করুন।

>db.mycollection.drop()
true
>

আবারো ডেটাবেস এর মধ্যে কালেকশনের লিস্ট চেক করে নিন।

>show collections
mycol
system.indexes
tutorialspoint
>

drop() পদ্ধতি সত্য দেখাবে যদি সিলেক্টকরা কালেকশনগুলো সঠিকভাবে ড্রপ হয়। অন্যথায় এটি মিথ্যা দেখাবে ।

 

 

মঙ্গোডিবি ড্রপ কালেকশন

drop() মেথড:
মঙ্গোডিবিতে db.collection.drop() এর মাধ্যমে ডাটাবেস থেকে কোনো কালেকশনকে ড্রপ করা যায়/ফেলে দেয়া যায়।

সিনট্যাক্স:
drop() কমান্ডের বেসিক সিনট্যাক্সটি হলো:
db.COLLECTION_NAME.drop()

উদাহরণ:
প্রথমে mydb ডাটাবেসের কালেকশনকে গুলোকে চেক করা হলো।
>use mydb
switched to db mydb
>show collections
mycol
mycollection
system.indexes
hometech
>
তারপর কালেকশন থেকে mycollection নামের কালেকশনটিকে ড্রপ করা হলো।
>db.mycollection.drop()
true
>
পুনরায় ডাটাবেসের কালকেশনকে চেক করা হলো।
>show collections
mycol
system.indexes
hometech
>

সিলেক্টেড কোনো কালেকশন যদি সঠিকভাবে ড্রপ হয় তাহলে drop() মেথড True ভেলু রিটার্ন করে অন্যথায় False ভেলু রিটার্ন করে।

MongoDB Drop Database । MongoDB ড্রপ ডেটাবেস

MongoDB Drop Database

MongoDB ড্রপ ডেটাবেস
নয়ন চন্দ্র দত্ত

dropDatabase() পদ্ধতি
MongoDB এর db.dropDatabase() কমান্ড একটি বিদ্যমান ডেটাবেস ড্রপ করতে ব্যবহৃত হয়।

সিনট্যাক্স:
dropDatabase() কমান্ডের বেসিক সিনট্যাক্স বা বাক্য গঠন নিম্নরূপঃ

db.dropDatabase()

এটি সিলেক্ট করা ডেটাবেস ডিলিট করবে। যদি আপনি কোন ডেটাবেস সিলেক্ট না করেন তাহলে এটি ডিফল্ট ‘test’ ডেটাবেস ডিলিট করবে।

উদাহরণ:
প্রথমত, show dbs কমান্ড ব্যবহার করে লিস্ট available ডেটাবেস চেক করে নিনঃ

>show dbs
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
>

আপনি যদি নতুন ডেটাবেস <mydb> কে ডিলিট করতে চান তাহলে dropDatabase() কমান্ড নিম্নরূপ হবেঃ

>use mydb
switched to db mydb
>db.dropDatabase()
>{ “dropped” : “mydb”, “ok” : 1 }
>

এখন ডেটাবেস এর লিস্ট চেক করুন

>show dbs
local 0.78125GB
test 0.23012GB
>

MongoDB Advantages . MongoDB এর উপকারিতা

MongoDB এর উপকারিতা

নয়ন চন্দ্র দত্ত

 

কোন রিলেশনাল ডাটাবেস এর একটি সাধারণ স্কিমা ডিজাইন বা নকশা আছে যা টেবিলের সংখ্যা এবং এই সমস্ত টেবিলের মধ্যে সম্পর্ক দেখায়।

RDBMS এর উপর MongoDB এর উপকারিতা

১। স্কিমা হ্রাসঃ MongoDB একটি ডকুমেন্ট ডেটাবেস যেখানে একটি কালেকশন ভিন্ন ভিন্ন ডকুমেন্টে ধারণ করে। ডকুমেন্টের ক্ষেত্র সংখ্যা, কন্টেন্ট, আকার এক ডকুমেন্ট থেকে অন্য ডকুমেন্টে ভিন্ন হতে পারে।

২। একটি একক বস্তুর গঠন স্পষ্ট হয়।

৩। কোন জটিল যোগদান থাকে না।

৪। গভীর অনুসন্ধান-ক্ষমতা। ডকুমেন্ট-ভিত্তিক অনুসন্ধান ল্যংগুয়েজ যা প্রায় এসকিউএল এর মত শক্তিশালী, এর ব্যবহারে ডকুমেন্টগুলোতে MongoDB এর গতিশীল অনুসন্ধান সমর্থন করে ।

৫। Tuning বা সুরকরণ

৬। বাধাপ্রাপ্ত স্কেল-আউটঃ MongoDB এর আকার পরিবর্তন করা সহজ ।

৭। অ্যাপ্লিকেশন অবজেক্টকে ডেটাবেস অবজেক্টে রূপান্তর করার প্রয়োজন নেই। দ্রুত তথ্য এক্সেস সক্রিয় করতে, কাজের সেট জমা করার জন্য অভ্যন্তরীণ মেমরি ব্যবহার করুন ।

 

MongoDB কেন ব্যবহার করা উচিত

১। ডকুমেন্ট ভিত্তিক সংগ্রহস্থলঃ JSON স্টাইল ডকুমেন্টে তথ্য জমা হবে।

২। যেকোন অ্যাট্রিবিউট এর ইন্ডেক্সকরণ

৩। প্রতিলিপি এবং উচ্চ সহজলভ্যতা

৪। সমৃদ্ধশালী অনুসন্ধান বা Queries

৫। দ্রুত ক্ষেত্র আপডেট করা

৬। MongoDB দ্বারা পেশাগত সাপোর্ট প্রদান

 

কোথায় MongoDB ব্যবহার করা উচিত?

১। বড় ডেটা

২। কনটেন্ট ম্যানেজমেন্ট এবং ডেলিভারি

৩। মোবাইল এবং সামাজিক অবকাঠামো

৪। ব্যবহারকারীর ডেটা ব্যবস্থাপনা এবং

৫।তথ্যের হাব(Hub)

 

http://Bangla.SaLearningSchool.com

পিএইচপি ৫ ফাইল হ্যান্ডলিং (PHP 5 File Handling)

ওয়েব application এর জন্য ফাইল handiling একটি গুরত্তপূর্ণ ব্যাপার।


php readfile() function


 

আমরা একটা টেক্সট ফাইল কে পিএইচপি ফাইল এর মধ্যে read করাব। মনে করি webdictionary.txt নামের একটি টেক্সট ফাইল এ টাইপ করা আছে


 AJAX = Asynchronous JavaScript and XML
 CSS = Cascading Style Sheets
 HTML = Hyper Text Markup Language
 PHP = PHP Hypertext Preprocessor
 SQL = Structured Query Language
 SVG = Scalable Vector Graphics
 XML = EXtensible Markup Language

 

যদি আমরা পিএইচপি দিয়ে কল করি


< ?php
 echo readfile("webdictionary.txt");
 ?>

এই ভাবে কোড লিখতে হবে

 

PHP fopen() – ফাইল খোলা

যদি আমরা fopen() ফাংশন ব্যবহার করি


< ?php
 $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
         /*ফাইল যদি directory তে থাকে তাহলে ওপেন করবে এবং read করবে*/
 echo fread($myfile,filesize("webdictionary.txt"));
 fclose($myfile);
 ?>

 

যদি আমরা কোন নতুন ফাইল তৈরি করতে চাই


$myfile = fopen(“testfile.txt”, “w”)


 

যদি একটি ফাইল এ কিছু লিখতে চাই


< ?php
 $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
                          /*fopen ফাইল ওপেন করবে*/
 $txt = "John Doe\n";     /*যেই টেক্সট টি লিখবে তা declare করা হল $txt নামে*/
 fwrite($myfile, $txt);   /*ফাইল এর মধ্যে লিখবে*/
 $txt = "Jane Doe\n";
 fwrite($myfile, $txt);   /*ফাইল এর মধ্যে লিখবে*/
 fclose($myfile);         /*এবং ফাইল ক্লোজ হবে*/
 ?>

 

পিএইচপি ৫ ওপেন/রিড/ক্লোজ (PHP 5 File Open/Read/Close)

এই অধ্যায়ে আপনারা শিখবেন কিভাবে সার্ভারে ফাইল ওপেন, রিড এবং ক্লোজ করতে হয় ( ফাইল খোলা, পড়া এবং বন্ধ করা)।

 

পিএইচপি ওপেন ফাইল – fopen()

ফাইল ওপেন করার একটি অপেক্ষাকৃত ভালো উপায় হলো fopen() ফাংশন দিয়ে ওপেন করা। এই ফাংশনটি readfile() ফাংশনের থেকে আরও বেশি অপশন ব্যবহারের সুযোগ করে দেয়। এই টিউটোরিয়ালে আমরা টেক্সট ফাইল “webdictionary.txt” কে ব্যবহার করবোঃ


 AJAX = Asynchronous JavaScript and XML
 CSS = Cascading Style Sheets
 HTML = Hyper Text Markup Language
 PHP = PHP Hypertext Preprocessor
 SQL = Structured Query Language
 SVG = Scalable Vector Graphics
 XML = EXtensible Markup Language

 

fopen() এর প্রথম প্যারামিটারটি যে ফাইলটি ওপেন করা হবে তার নাম ধারণ করে এবং দ্বিতীয় প্যারামিটারটি কোন মোডে ফাইলটি ওপেন করা হবে তা নির্দিষ্ট করে। নিচের উদাহরণটি একটি মেসেজও তৈরি করে যদি fopen() ফাংশন নির্দিষ্ট ফাইলটি ওপেন করতে না পারেঃ


 

< ?php
 $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
 echo fread($myfile,filesize("webdictionary.txt"));
 fclose($myfile);
 ?>

টিপসঃ fread() এবং fread() ফাংশনগুলো নিচে ব্যাখ্যা করা হবে।

 

ফাইলটি নিচের যেকোন একটি মোডে ওপেন হতে পারে

মোড ব্যাখ্যা
r রিড ওনলি (read only) ফাইল খোলে। ফাইল পয়েন্টার ফাইলের প্রথমদিকে চালু হয়।
w রাইট ওনলি (write only ) ফাইল খোলে। ফাইলের কন্টেন্ট মুঁছে দেয় অথবা সেটি না থাকলে একটি নতুন ফাইল তৈরি করে। ফাইল পয়েন্টার ফাইলের প্রথমদিকে চালু হয়।
a রাইট ওনলি ফাইল খোলে। ফাইলের পূর্বের ডাটা সংরক্ষণ করে। ফাইল পয়েন্টার ফাইলের শেষের দিকে চালু হয়। যদি ফাইলটি না থাকে তাহলে একটি নতুন ফাইল ওপেন করে।
x নতুন রাইট ওনলি ফাইল তৈরি করে। যদি ফাইলটি আগেই থেকে থাকে তাহলে FALSE এবং একটি এরর ফিরিয়ে দেয়।
r রিড/রাইট এর জন্য একটি ফাইল ওপেন করে। ফাইল পয়েন্টার ফাইলের প্রথমদিকে চালু হয়।
w+ রিড/রাইট এর জন্য একটি ফাইল ওপেন করে। ফাইলের সব কন্টেন্ট মুঁছে দেয় অথবা ফাইলটি না থাকলে নতুন ফাইল তৈরি করে। ফাইল পয়েন্টার ফাইলের প্রথমদিকে চালু হয়।
a+ রিড/রাইট এর জন্য একটি ফাইল ওপেন করে। ফাইলের বিদ্যমান ডাটা রেখে দেয়া হয়। ফাইল পয়েন্টার ফাইলের শেষের দিকে চালু হয়। যদি ফাইলটি না থাকে তাহলে একটি নতুন ফাইল তৈরি করে।
x+ রিড/রাইট এর জন্য একটি নতুন তৈরি করে। যদি ফাইলটি আগেই থেকে থাকে তাহলে FALSE এবং একটি এরর ফিরিয়ে দেয়।

 

পিএইচপি রিড ফাইল – fread()

fread() ফাংশনটি একটি খোলা বা ওপেন ফাইলকে রিড বা পাঠ করে। fread() এর প্রথম প্যারামিটারটি পড়ার জন্য ফাইলের নামটি ধারণ করে এবং দ্বিতীয় প্যারামিটারটি পড়ার জন্য সর্বোচ্চ সংখ্যক বাইটকে নির্দিষ্ট করে দেয়। নিচের পিএইচপি কোডটি “webdictionary.txt” ফাইলকে শেষ পর্যন্ত পড়েঃ


fread($myfile,filesize(“webdictionary.txt”));


 

পিএইচপি ক্লোজ ফাইল – fclose()

একটি খোলা ফাইলকে বন্ধ করতে fclose() ফাংশনটি ব্যবহৃত হয়।

টিপসঃ কাজ শেষে খোলা ফাইলকে নিয়মিত বন্ধ করার অভ্যাসটি একজন ভালো প্রোগ্রামারের বৈশিষ্ট্য। আপনি নিশ্চয়ই চাইবেন না যে একটি ওপেন ফাইল আপনাদের সার্ভারে রান করে এর রিসোর্স দখল করে রাখুক!

fclose() ফাংশনটির আমরা যে ফাইলটি বন্ধ করতে চাই সেই ফাইলের নামের দরকার পড়ে অথবা একটি ভ্যারিয়েবলের প্রয়োজন হয় যা ফাইলনেম ধারণ করেঃ


< ?php
 $myfile = fopen("webdictionary.txt", "r");
 // some code to be executed....
 fclose($myfile);
 ?>

 

পিএইচপি রিড সিঙ্গেল লাইন – fgets()

fgets() ফাংশনটি কোন ফাইল থেকে একটি মাত্র লাইন পড়তে ব্যবহৃত হয়। নিচের উদাহরণটি “webdictionary.txt” ফাইলের প্রথম লাইনকে আউটপুট হিসেবে প্রকাশ করেঃ


< ?php
 $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
 echo fgets($myfile);
 fclose($myfile);
 ?>

লক্ষ্যণীয়ঃ fgets() ফাংশনটিকে কল করার পর, ফাইল পয়েন্টারটি পরের লাইনে চলে গেছে।

 

পিএইচপি চেক এন্ড-অফ-ফাইল – feof()

feof() ফাংশনটি ফাইলের শেষ দিকে (“end-of-file” (EOF)) পৌছেছে কিনা তা পরীক্ষা করে। অনির্দিষ্ট দৈর্ঘ্যের ডাটার মধ্যে লুপিং করতে feof() ফাংশনটি কার্যকর ভূমিকা রাখে। নিচের উদাহরণটি “webdictionary.txt” ফাইলের প্রতিটি লাইন পড়ে যতক্ষণ না ফাইলের শেষ পর্যন্ত (end-of-file) পৌছানো যায়ঃ


< ?php
 $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
 // Output one line until end-of-file
 while(!feof($myfile)) {
 echo fgets($myfile) . "br";
 }
 fclose($myfile);
 ?>

 

পিএইচপি রিড সিঙ্গেল ক্যারেক্টার – fgetc()

fgetc() ফাংশনটি একটি ফাইল থেকে একটি মাত্র ক্যারেক্টার বা অক্ষর পড়তে ব্যবহৃত হয়। নিচের উদাহরণটি “webdictionary.txt” ফাইলকে অক্ষরে অক্ষরে পড়ে যতক্ষণ যতক্ষণ না ফাইলের শেষ পর্যন্ত (end-of-file) পৌছানো যায়ঃ


< ?php
 $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
 // Output one character until end-of-file
 while(!feof($myfile)) {
 echo fgetc($myfile);
 }
 fclose($myfile);
 ?>

লক্ষ্যণীয়ঃ ফাংশনকে কল করার পর পয়েন্টারটি পরবর্তী অক্ষরে চলে গেছে।

 

পিএইচপি’র সম্পূর্ণ রেফারেন্সের জন্য আমাদের পিএইচপি রেফারেন্সে পড়ে দেখুন।