MongoDB-এ NumberInt() (32-bit Integer) স্পেসিফাই করে কোয়েরি করা
MongoDB-এ ডিফল্টরূপে সংখ্যা 64-বিট ফ্লোট (Double) হিসেবে সংরক্ষিত হয়। ৩২-বিট ইন্টিজার স্পষ্টভাবে নির্দিষ্ট করতে NumberInt() কনস্ট্রাক্টর ব্যবহার করা হয়। কোয়েরি করার সময়ও একই টাইপ ব্যবহার করতে হয়।
১. কালেকশন ও NumberInt ডেটা তৈরি
> db.demo357.insertOne({
"FirstName": "Chris", "Age": 21,
"details": { "studentDetails": { "id": NumberInt(101) } }
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e568fa6f8647eb59e5620c9") }
> db.demo357.insertOne({
"FirstName": "David", "Age": 23,
"details": { "studentDetails": { "id": NumberInt(110) } }
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e568fbaf8647eb59e5620ca") }
২. সব ডকুমেন্ট দেখানো
> db.demo357.find();
আউটপুট:
নোট: শেলে আউটপুটে
NumberInt(101)দেখাতে পারে, কিন্তু JSON-এ শুধু101দেখায়।৩. NumberInt দিয়ে নির্দিষ্ট ডকুমেন্ট খুঁজে বের করা
> db.demo357.find({"details.studentDetails.id": NumberInt(110)});৪. ফলাফল
কেন NumberInt গুরুত্বপূর্ণ?
- MongoDB-এ ডিফল্ট নম্বর BSON Double (64-bit float)।
NumberInt(101)(BSON Int32) এবং101(BSON Double) ভিন্ন টাইপ।- কোয়েরি
{id: 101}(Double) দিয়েNumberInt(101)(Int32) মিস হয়ে যেতে পারে (স্ট্রিক্ট টাইপ চেকিং-এ)। NumberLong()৬৪-বিট ইন্টিজার জন্য।
সশ প্রোগ্রামিং ল্যাঙ্গুয়েজের ড্রাইভারের মাধ্যমে ইনসার্ট/কোয়েরি করার সময় টাইপ ম্যাচিং নিশ্চিত করুন।