MongoDB-তে অগ리게শন এবং $month অপারেটর ব্যবহার করে নির্দিষ্ট মাস/বর্ষ কোয়েরি করা
MongoDB-তে ISODate ফিল্ড থেকে শুধু মাস বা বছর এক্সট্র্যাক্ট করে কোয়েরি করতে অগ리게শন ফ্রেমওয়ার্কের $month বা $year প্রজেকশন অপারেটর ব্যবহার করা হয়।
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.specificMonthDemo.insertOne({"StudentName":"Larry","StudentDateOfBirth":new ISODate('1995-01-12')});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb9a9ca8f1d1b97daf71819") }
> db.specificMonthDemo.insertOne({"StudentName":"Chris","StudentDateOfBirth":new ISODate('1999-12-31')});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb9a9db8f1d1b97daf7181a") }
> db.specificMonthDemo.insertOne({"StudentName":"David","StudentDateOfBirth":new ISODate('2000-06-01')});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb9a9ee8f1d1b97daf7181b") }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.specificMonthDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5cb9a9ca8f1d1b97daf71819"),
"StudentName" : "Larry",
"StudentDateOfBirth" : ISODate("1995-01-12T00:00:00Z")
}
{
"_id" : ObjectId("5cb9a9db8f1d1b97daf7181a"),
"StudentName" : "Chris",
"StudentDateOfBirth" : ISODate("1999-12-31T00:00:00Z")
}
{
"_id" : ObjectId("5cb9a9ee8f1d1b97daf7181b"),
"StudentName" : "David",
"StudentDateOfBirth" : ISODate("2000-06-01T00:00:00Z")
}
ধাপ ৩: নির্দিষ্ট মাস (জানুয়ারি = ১) কোয়েরি করুন
> db.specificMonthDemo.aggregate([
{$project: {
StudentName: 1,
StudentDateOfBirth: {$month: '$StudentDateOfBirth'}
}},
{$match: {StudentDateOfBirth: 1}}
]).pretty();
ফলাফল:
{
"_id" : ObjectId("5cb9a9ca8f1d1b97daf71819"),
"StudentName" : "Larry",
"StudentDateOfBirth" : 1
}
ব্যাখ্যা:
$projectস্টেজে$month: '$StudentDateOfBirth'ব্যবহার করে ডেট অবজেক্ট থেকে মাস নম্বর (১-১২) এক্সট্র্যাক্ট করা হয়েছে$matchস্টেজেStudentDateOfBirth: 1দিয়ে জানুয়ারি মাসের ডকুমেন্ট ফিল্টার করা হয়েছে- ফলাফলে শুধু Larry (জন্ম তারিখ ১৯৯৫-০১-১২) পাওয়া গেছে
অন্যান্য ডেট অপারেটর:
$year- বছর (যেমন ১৯৯৫, ২০০০)$dayOfMonth- তারিখ (১-৩১)$dayOfWeek- সপ্তাহের দিন (১=রবিবার, ৭=শনিবার)$hour,$minute,$second- সময়ের উপাদান