কম্পিউটার টিউটোরিয়াল

MongoDB-এ NumberInt() ব্যবহার করা ফিল্ড দিয়ে নির্দিষ্ট ডকুমেন্ট খুঁজে বের করা


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() ৬৪-বিট ইন্টিজার জন্য।

সশ প্রোগ্রামিং ল্যাঙ্গুয়েজের ড্রাইভারের মাধ্যমে ইনসার্ট/কোয়েরি করার সময় টাইপ ম‍্যাচিং নিশ্চিত করুন।


  1. MongoDB-এ অ্যারে ফিল্ডে নির্দিষ্ট ফিল্ড ভ্যালু না থাকা ডকুমেন্ট খুঁজে বের করা

  2. MongoDB-এ নির্দিষ্ট ফিল্ড নাম ও মান দিয়ে ডকুমেন্ট খোঁজা

  3. MongoDB find কোয়েরিতে স্ট্যাটিক ভ্যালু সহ নতুন ফিল্ড যোগ করা ($literal ব্যবহার করে)

  4. MongoDB কোয়ারী: আইডি যদি ডকুমেন্ট ফিল্ড অ্যারে মানের সমান হয় তবে বাদ দেওয়া