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

क्वेरी के लिए संख्या के लिए मोंगो कास्ट स्ट्रिंग

अपडेट (MongoDB v4.0 से मान्य):

आप $expr के संयोजन का उपयोग कर सकते हैं और $toDouble इस तरह वांछित व्यवहार प्राप्त करने के लिए:

db.MyCollection.find({ $expr: { $lte: [ { $toDouble: "$Price" }, 1000.0 ] } })

मूल उत्तर (MongoDB v3.6 और नीचे):

MongoDB स्ट्रिंग्स को संख्याओं में नहीं बदल सकता है। तो यहां आपका एकमात्र विकल्प खतरनाक $where का उपयोग करना है। ऑपरेटर:

db.MyCollection.find({ $where: "parseInt(this.Price) <= 1000" })

यह किसी भी अनुक्रमणिका का उपयोग नहीं करेगा और बिल्कुल तेज़ नहीं है लेकिन शायद छोटे संग्रह के लिए अभी भी ठीक है।

फिर भी मैं संख्याओं को संख्यात्मक प्रकारों के रूप में संग्रहीत करने की अनुशंसा करता हूं। तो आपको अपनी string को कन्वर्ट करना चाहिए s से int एस या long s (या शायद double s भी) जैसा कि यहाँ दिखाया गया है: mongodb में स्ट्रिंग को संख्यात्मक मानों में कैसे बदलें




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Amazon Linux पर MongoDB स्थापित करने के चरण

  2. क्या विकिपीडिया का मानचित्र कम करने की व्याख्या गलत है?

  3. माध्यमिक की अंतहीन ठीक होने की स्थिति

  4. उल्का $पुल सरणी से हटा दें

  5. $text क्वेरी के लिए आवश्यक टेक्स्ट इंडेक्स