MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

कैसे कहें ... मैच जब फ़ील्ड एक संख्या है ... मोंगोडब में?

$type का इस्तेमाल करें आपके $match . में ऑपरेटर :

db.zips.aggregate([
    {$project : {city:{$substr:["$city",0,1]}}},
    {$sort : {city : 1}}, 
    {$match: {city: {$type: 16}}}      // city is a 32-bit integer
]);

संख्या के लिए कोई एक प्रकार का मान नहीं है, इसलिए आपको यह जानना होगा कि आपके पास किस प्रकार का नंबर है:

32-bit integer   16
64-bit integer   18
Double           1

या $or . का उपयोग करें सभी प्रकार की संख्याओं से मेल खाने वाला ऑपरेटर:

db.zips.aggregate([
    {$project : {city:{$substr:["$city",0,1]}}},
    {$sort : {city : 1}}, 
    {$match: {$or: [{city: {$type: 1}}, {city: {$type: 16}}, {city: {$type: 18}}]}}
]);

या यहां तक ​​कि $not . का उपयोग करें उन सभी दस्तावेज़ों से मिलान करने के लिए जहां city एक स्ट्रिंग नहीं है:

db.zips.aggregate([
    {$project : {city:{$substr:["$city",0,1]}}},
    {$sort : {city : 1}}, 
    {$match: {city: {$not: {$type: 2}}}}      // city is not a string
]);

अपडेट किया गया

उन सभी दस्तावेज़ों से मिलान करने के लिए जहां city एक संख्यात्मक स्ट्रिंग है जिसे आप नियमित अभिव्यक्ति का उपयोग कर सकते हैं:

db.zips.aggregate([
    {$project : {city:{$substr:["$city",0,1]}}},
    {$sort : {city : 1}}, 
    {$match: {city: /^\d.*$/}}      // city is all digits
]);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एमजीओ के साथ गो (गोलंग) में मोंगोडीबी:क्वेरी करने के लिए लॉजिकल ऑपरेटरों का उपयोग कैसे करें?

  2. कुप्पी में _Id द्वारा MongoDB प्राप्त करने में त्रुटि

  3. नेवला:किसी दस्तावेज़ से केवल कुंजियाँ लौटाएँ

  4. PyMongo 3 ServerSelectionTimeoutError क्यों दे रहा है?

  5. स्प्रिंग डेटा MongoDB मानदंड के साथ गतिशील क्वेरी बनाएँ