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

मोंगोडीबी $log10

MongoDB में, $log10 एग्रीगेशन पाइपलाइन ऑपरेटर किसी संख्या के लॉग बेस 10 की गणना करता है और परिणाम को डबल के रूप में लौटाता है।

$log10 किसी भी मान्य व्यंजक को स्वीकार करता है जो एक गैर-ऋणात्मक संख्या का समाधान करता है।

$log10 ऑपरेटर को MongoDB 3.2 में पेश किया गया था।

उदाहरण

मान लीजिए हमारे पास test . नामक संग्रह है निम्नलिखित दस्तावेज़ के साथ:

{ "_id" : 1, "data" : 0.5 }

हम $log10 . का उपयोग कर सकते हैं ऑपरेटर data का लॉग बेस 10 लौटाने के लिए फ़ील्ड:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        _id: 0,
        result: { $log10: "$data" }
      }
    }
  ]
)

परिणाम:

{ "result" : -0.3010299956639812 }

सीमा मान से बाहर

जैसा कि बताया गया है, $log10 ऑपरेटर किसी भी मान्य अभिव्यक्ति को स्वीकार करता है जो एक गैर-ऋणात्मक संख्या को हल करता है। उस सीमा से बाहर के मान त्रुटि उत्पन्न करेंगे।

मान लीजिए हम अपने संग्रह में निम्नलिखित दस्तावेज़ जोड़ते हैं:

{ "_id" : 2, "data" : -3 }

चलिए $log10 चलाते हैं उस दस्तावेज़ के विरुद्ध ऑपरेटर:

db.test.aggregate(
  [
    { $match: { _id: 2 } },
    { $project: { 
        _id: 0,
        result: { $log10: "$data" }
      }
    }
  ]
)

परिणाम:

uncaught exception: Error: command failed: {
	"ok" : 0,
	"errmsg" : "$log10's argument must be a positive number, but is -3",
	"code" : 28761,
	"codeName" : "Location28761"
} : aggregate failed :
[email protected]/mongo/shell/utils.js:25:13
[email protected]/mongo/shell/assert.js:18:14
[email protected]/mongo/shell/assert.js:618:17
[email protected]/mongo/shell/assert.js:708:16
[email protected]/mongo/shell/db.js:266:5
[email protected]/mongo/shell/collection.js:1046:12
@(shell):1:1

शून्य मान

शून्य मान null लौटाते हैं $log10 . का उपयोग करते समय ऑपरेटर।

मान लीजिए हम अपने संग्रह में निम्नलिखित दस्तावेज़ जोड़ते हैं:

{ "_id" : 3, "data" : null }

चलिए $log10 चलाते हैं उस दस्तावेज़ के विरुद्ध ऑपरेटर:

db.test.aggregate(
  [
    { $match: { _id: 3 } },
    { $project: { 
        _id: 0,
        result: { $log10: "$data" }
      }
    }
  ]
)

परिणाम:

{ "result" : null }

हम देख सकते हैं कि परिणाम null है .

NaN मान

अगर तर्क NaN . का समाधान करता है , $log10 रिटर्न NaN

उदाहरण:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        _id: 0,
        result: { $log10: 1 * "$data" }
      }
    }
  ]
)

परिणाम:

{ "result" : NaN }

गैर-मौजूद फ़ील्ड

अगर $log10 ऑपरेटर को उस फ़ील्ड के विरुद्ध लागू किया जाता है जो मौजूद नहीं है, null लौटा दिया गया है।

उदाहरण:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        _id: 0,
        result: { $log10: "$name" }
      }
    }
  ]
)

परिणाम:

{ "result" : null }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NoSQL डेटाबेस की लड़ाई - MongoDB और Firebase की तुलना करना

  2. अनुक्रमणिका में एक सरणी फ़ील्ड का एक अलग एकत्रीकरण प्राप्त करना

  3. php mongodb संग्रह में nth प्रविष्टि खोजें

  4. MongoDB संग्रह का सबसेट दूसरे संग्रह में सहेजें

  5. मोंगोस रेगेक्स बनाम टेक्स्ट का उपयोग करके मोंगो डीबी में खोजना