মানগুলো যাচাই করতে $type ব্যবহার করুন।
ডকুমেন্টসহ একটি কলেকশন তৈরি করা
> db.demo211.insertOne({id:101,"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3e298203d395bdc21346fa") } > db.demo211.insertOne({id:102,"Name":null}); { "acknowledged" : true, "insertedId" : ObjectId("5e3e2a5403d395bdc21346fb") }
find() মেথড ব্যবহার করে সব ডকুমেন্ট দেখানো
> db.demo211.find();
এটি নিচের আউটপুট তৈরি করবে:
{ "_id" : ObjectId("5e3e298203d395bdc21346fa"), "id" : 101, "Name" : "Chris" } { "_id" : ObjectId("5e3e2a5403d395bdc21346fb"), "id" : 102, "Name" : null }
দুটি এক্সটার্নাল মান সমান কিনা যাচাই করার কোয়ারী
> v1=200; 200 > v2=200; 200 > db.demo211.find({Name : 'Chris', Name : { $type : 1 + (v1 === v2) }});
এটি নিচের আউটপুট তৈরি করবে:
{ "_id" : ObjectId("5e3e298203d395bdc21346fa"), "id" : 101, "Name" : "Chris" }
ব্যাখ্যা: এটি একটি অনন্য টেকনিক। v1 === v2 যদি true হয় (এখানে 200 === 200), তবে এটি 1 রিটার্ন করে। $type: 2 (string) মানে Name ফিল্ডটি স্ট্রিং টাইপের হতে হবে। যেহেতু "Chris" স্ট্রিং, তাই ডকুমেন্টটি ফেরত দেওয়া হয়েছে। যদি ভ্যালু সমান না হত, তবে $type: 1 (double) হত এবং স্ট্রিং ফিল্ড মিলত না।