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

MongoDB रिकॉर्ड खोजें जहां सरणी फ़ील्ड खाली नहीं है

यदि आपके पास भी ऐसे दस्तावेज़ हैं जिनमें चाबी नहीं है, तो आप इसका उपयोग कर सकते हैं:

ME.find({ pictures: { $exists: true, $not: {$size: 0} } })

यदि $size शामिल है तो MongoDB अनुक्रमणिका का उपयोग नहीं करता है, इसलिए यहां एक बेहतर समाधान है:

ME.find({ pictures: { $exists: true, $ne: [] } })

अगर आपकी संपत्ति में अमान्य मान हो सकते हैं (जैसे null boolean या अन्य) , तो आप $types . का उपयोग करके एक अतिरिक्त चेक जोड़ सकते हैं जैसा कि इस उत्तर में प्रस्तावित है:

मोंगो के साथ>=3.2:

ME.find({ pictures: { $exists: true, $type: 'array', $ne: [] } })

मोंगो के साथ <3.2:

ME.find({ pictures: { $exists: true, $type: 4, $ne: [] } })

MongoDB 2.6 रिलीज के बाद से, आप ऑपरेटर के साथ तुलना कर सकते हैं $gt लेकिन अप्रत्याशित परिणाम दे सकते हैं (आप इस उत्तर में विस्तृत विवरण पा सकते हैं):

ME.find({ pictures: { $gt: [] } })


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में पेजिनेशन लागू करना

  2. एक pymongo.cursor.Cursor को एक तानाशाही में कैसे बदलें?

  3. Go . से MongoDB एक्सेस करना

  4. किसी नेस्टेड सरणी से $pull और $[identifier] (mongoDB 3.6) के साथ किसी ऑब्जेक्ट को निकालें

  5. PHP 7 MongoDB क्लाइंट/ड्राइवर स्थापित कर रहा है?