आप इसके लिए $type के साथ $not ऑपरेटर का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.highestNumericValueOfAColumnDemo.insertOne(
... {
... "StudentName": "John",
... "StudentMathMarks":69
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cba05727219729fde21ddb1")
}
> db.highestNumericValueOfAColumnDemo.insertOne(
... {
... "StudentName": "Carol",
... "StudentMathMarks":"89"
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cba059d7219729fde21ddb2")
}
> db.highestNumericValueOfAColumnDemo.insertOne(
... {
... "StudentName": "Chris",
... "StudentMathMarks":82
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cba059d7219729fde21ddb3")
}
> db.highestNumericValueOfAColumnDemo.insertOne(
... {
... "StudentName": "John",
... "StudentMathMarks":"100"
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cba059d7219729fde21ddb4")
} खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.highestNumericValueOfAColumnDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{
"_id" : ObjectId("5cba05727219729fde21ddb1"),
"StudentName" : "John",
"StudentMathMarks" : 69
}
{
"_id" : ObjectId("5cba059d7219729fde21ddb2"),
"StudentName" : "Carol",
"StudentMathMarks" : "89"
}
{
"_id" : ObjectId("5cba059d7219729fde21ddb3"),
"StudentName" : "Chris",
"StudentMathMarks" : 82
}
{
"_id" : ObjectId("5cba059d7219729fde21ddb4"),
"StudentName" : "John",
"StudentMathMarks" : "100"
} कॉलम के उच्चतम संख्यात्मक मान को खोजने के लिए निम्नलिखित क्वेरी है -
> db.highestNumericValueOfAColumnDemo.find({StudentMathMarks: {$not: {$type:
2}}}).sort({StudentMathMarks: -1}).limit(1).pretty(); यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{
"_id" : ObjectId("5cba059d7219729fde21ddb3"),
"StudentName" : "Chris",
"StudentMathMarks" : 82
} उपरोक्त क्वेरी स्ट्रिंग मान को अनदेखा करती है, इसलिए हमें केवल पूर्णांक उच्चतम मान मिल रहा है जो कि 82 है।