Boolean
BSON
में एक मूल फ़ील्ड प्रकार है (मोंगोडीबी का सर्वर-साइड स्टोरेज प्रारूप, उर्फ "बाइनरी जेएसओएन")। बूलियन एक पूर्णांक या स्ट्रिंग की तुलना में कम संग्रहण का उपयोग करते हैं और तुलना के किसी भी अप्रत्याशित दुष्प्रभाव से बचते हैं।
उदाहरण के लिए, MongoDB में find()
"1"
. की एक स्ट्रिंग को क्वेरी करें 1
. के अंकीय मान से मेल नहीं खाएगा या true
. का बूलियन मान . यदि आप बूलियन मानों को संग्रहीत करना चाहते हैं, तो निश्चित रूप से एक बूलियन प्रकार का उपयोग करें।
mongo
. में BSON आकार (बाइट्स में) की तुलना करना पूर्णता के लिए खोल:
// Number (JavaScript double) - 8 bytes
> var foo = { a: 1 }
> Object.bsonsize(foo)
16
// UTF-8 String - 6 bytes
> var foo = { a: '1'}
> Object.bsonsize(foo)
14
// 32-bit int - 4 bytes
> var foo = { a: NumberInt(1)}
> Object.bsonsize(foo)
12
// Boolean - 1 byte
> var foo = { a: true}
> Object.bsonsize(foo)
9
नोट:ऊपर दिए गए उदाहरणों में JSON ऑब्जेक्ट का आधार आकार (फ़ील्ड मानों की गणना नहीं) 8 बाइट्स है, इसलिए रिपोर्ट किए गए Object.bsonsize()
के बीच का अंतर फ़ील्ड मान का प्रतिनिधित्व है।