MongoDB-তে NaN (Not a Number) ভ্যালুযুক্ত ফিল্ড সহ ডকুমেন্ট খুঁজে বের করা
MongoDB-তে কোনো ফিল্ডের মান NaN হলে সেটি খুঁজে বের করতে নিচের সিন্ট্যাক্স ব্যবহার করুন:
db.yourCollectionName.find( { yourFieldName: NaN })
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.nanDemo.insertOne({"Score":0/0});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca251a26304881c5ce84b8a") }
> db.nanDemo.insertOne({"Score":10/5});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca2520e6304881c5ce84b8b") }
> db.nanDemo.insertOne({"Score":20/0});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca252156304881c5ce84b8c") }
> db.nanDemo.insertOne({"Score":0/20});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca2521e6304881c5ce84b8d") }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.nanDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5ca251a26304881c5ce84b8a"),
"Score" : NaN
}
{
"_id" : ObjectId("5ca2520e6304881c5ce84b8b"),
"Score" : 2
}
{
"_id" : ObjectId("5ca252156304881c5ce84b8c"),
"Score" : Infinity
}
{
"_id" : ObjectId("5ca2521e6304881c5ce84b8d"),
"Score" : 0
}
ধাপ ৩: NaN ভ্যালুযুক্ত ডকুমেন্ট খুঁজে বের করুন
পদ্ধতি ১: 0/0 এক্সপ্রেশন ব্যবহার করে
> db.nanDemo.find( { Score: 0/0 } );
পদ্ধতি ২: সরাসরি NaN ব্যবহার করে
> db.nanDemo.find( { Score: NaN } )
ফলাফল (উভয় পদ্ধতির জন্য):
{
"_id" : ObjectId("5ca251a26304881c5ce84b8a"),
"Score" : NaN
}
ব্যাখ্যা: MongoDB-তে ০ দিয়ে ০ ভাগ করলে (0/0) NaN মান তৈরি হয়। অন্যদিকে, নন-জিরো সংখ্যা ০ দিয়ে ভাগ করলে Infinity মান তৈরি হয়। NaN খুঁজে বের করার সময় 0/0 বা সরাসরি NaN দুটোই ব্যবহার করা যায়।