MongoDB-এ ISODate অবজেক্ট থেকে বছর, মাস, দিন, ঘন্টা, মিনিট, সেকেন্ড, মিলিসেকেন্ড, বছরের দিন, সপ্তাহের দিন, সপ্তাহ নম্বর ইত্যাদি বের করার জন্য Aggregation Pipeline-এ $project স্টেজের ভেতরে ডেট অপারেটরগুলো ব্যবহার করা হয়।
উদাহরণ: কালেকশন ও ডেটা তৈরি
> db.demo548.insertOne({"dueDate": new ISODate("2020-04-09 12:12:40")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e30499e5f92834d7f05de") }
ডকুমেন্ট দেখানো
> db.demo548.find();
আউটপুট:
{ "_id" : ObjectId("5e8e30499e5f92834d7f05de"), "dueDate" : ISODate("2020-04-09T12:12:40Z") }
Aggregation কোয়েরি: ডেট কম্পোনেন্ট বের করা
> db.demo548.aggregate([
{
$project: {
Year: { $year: "$dueDate" },
Month: { $month: "$dueDate" },
Day: { $dayOfMonth: "$dueDate" },
Hour: { $hour: "$dueDate" },
Minutes: { $minute: "$dueDate" },
Seconds: { $second: "$dueDate" },
Milliseconds: { $millisecond: "$dueDate" },
DayOfYear: { $dayOfYear: "$dueDate" },
DayOfWeek: { $dayOfWeek: "$dueDate" },
Week: { $week: "$dueDate" }
}
}
]).pretty();
আউটপুট
{
"_id" : ObjectId("5e8e30499e5f92834d7f05de"),
"Year" : 2020,
"Month" : 4,
"Day" : 9,
"Hour" : 12,
"Minutes" : 12,
"Seconds" : 40,
"Milliseconds" : 0,
"DayOfYear" : 100,
"DayOfWeek" : 5,
"Week" : 14
}
ডেট অপারেটর রেফারেন্স
| অপারেটর | বর্ণনা | রেঞ্জ/উদাহরণ |
|---|---|---|
$year | বর্ষ | 2020 |
$month | মাস | ১-১২ (এপ্রিল = ৪) |
$dayOfMonth | মাসের দিন | ১-৩১ |
$hour | ঘন্টা (২৪ ঘন্টা ফরম্যাট) | ০-২৩ |
$minute | মিনিট | ০-৫৯ |
$second | সেকেন্ড | ০-৫৯ |
$millisecond | মিলিসেকেন্ড | ০-৯৯৯ |
$dayOfYear | বর্ষের দিন নম্বর | ১-৩৬৬ |
$dayOfWeek | সপ্তাহের দিন | ১ (রবিবার) - ৭ (শনিবার) |
$week | বর্ষের সপ্তাহ নম্বর | ০-৫৩ |
$isoDayOfWeek | ISO সপ্তাহের দিন | ১ (সোমবার) - ৭ (রবিবার) |
$isoWeek | ISO সপ্তাহ নম্বর | ১-৫৩ |
মূল পয়েন্টসমূহ
- সব ডেট অপারেটর
$projectবা$addFieldsস্টেজে ব্যবহার করা যায়। ISODateUTC-তে সংরক্ষিত হয়; টাইমজোন কনভারশনের জন্য$dateToStringwithtimezoneঅপশন ব্যবহার করুন।- এই অপারেটরগুলো
$match-এও ব্যবহার করা যায় (যেমন: এই মাসের ডেটা বের করতে)।