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

mongodb - निकटतम पूर्णांक मान वाला दस्तावेज़ ढूंढें

दिलचस्प समस्या। मैं नहीं जानता कि क्या आप इसे एक ही प्रश्न में कर सकते हैं, लेकिन आप इसे दो में कर सकते हैं:

var x = 1; // given integer
closestBelow = db.test.find({ratio: {$lte: x}}).sort({ratio: -1}).limit(1);
closestAbove = db.test.find({ratio: {$gt: x}}).sort({ratio: 1}).limit(1);

फिर आप बस जांचें कि दोनों में से किस दस्तावेज़ में ratio है लक्ष्य पूर्णांक के सबसे निकट।

MongoDB 3.2 अपडेट

3.2 रिलीज़ $abs . के लिए समर्थन जोड़ता है एब्सोल्यूट वैल्यू एग्रीगेशन ऑपरेटर जो अब इसे एक ही aggregate . में करने की अनुमति देता है क्वेरी:

var x = 1;
db.test.aggregate([
    // Project a diff field that's the absolute difference along with the original doc.
    {$project: {diff: {$abs: {$subtract: [x, '$ratio']}}, doc: '$$ROOT'}},
    // Order the docs by diff
    {$sort: {diff: 1}},
    // Take the first one
    {$limit: 1}
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ओवरफ़्लो सॉर्ट चरण बफ़र किए गए डेटा का उपयोग आंतरिक सीमा से अधिक है

  2. 5 मिलियन से अधिक रिकॉर्ड के लिए MongoDB क्वेरी प्रदर्शन

  3. मैं एक नेवला क्वेरी पर टाइमआउट कैसे सेट करूं?

  4. MongoDB नेवला पदावनति चेतावनी

  5. MongoDB 3.0 . में अपडेट होने के बाद Heroku ऐप क्रैश हो जाता है