মঙ্গোডিবি: কোন ক্ষেত্রের অস্তিত্ব দ্বারা একটি নথি খুঁজে পাও?


173

"যেখানে নথিতে ক্ষেত্র নেই" শর্ত নির্দিষ্ট করার কোনও উপায় আছে কি?

উদাহরণস্বরূপ, আমি কেবলমাত্র এই 2 এর মধ্যে প্রথমটি খুঁজে পেতে চাই কারণ এতে "দাম" ক্ষেত্র নেই।

{"fruit":"apple", "color":"red"}


{"fruit":"banana", "color":"yellow", "price":"2.00"}


3
আপনি চেষ্টা করতেও পারেনdb.mycollection.find({ "price" : null })
অশুভ রিকো

উত্তর:


329

ব্যবহার করে দেখুন $existsঅপারেটর:

db.mycollection.find({ "price" : { "$exists" : false } })

এবং এর ডকুমেন্টেশন দেখুন


12
+1 টি। তবে মনে রাখবেন যে এ জাতীয় প্রশ্নগুলি সূচকগুলি ব্যবহার করতে পারে না এবং বড় সংগ্রহগুলিতে খুব ধীর হতে পারে।
mnemosyn

10
দুর্দান্ত পয়েন্ট - ধন্যবাদ। আমি জানি এই ক্যাভ্যাটটি মোংগোডিবি সংস্করণ ১.৮.x এবং এর আগে সত্য; তবে আমি ভেবেছিলাম যে $ বিদ্যমান ক্ষেত্রের সীমাবদ্ধতার সাথে অনুসন্ধানগুলি এখন 2.0 সংস্করণে সূচকগুলি ব্যবহার করতে পারে ...?
দাম্পায়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.