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

मोंगोडीबी $जोड़ें

MongoDB में, $add एकत्रीकरण पाइपलाइन ऑपरेटर मूल्यों को एक साथ जोड़ता है। ऐसे मान संख्याएं हो सकते हैं, या वे संख्याएं और दिनांक हो सकते हैं।

$add ऑपरेटर मानों को तर्क के रूप में स्वीकार करता है। तर्क तब तक कोई भी मान्य व्यंजक हो सकते हैं, जब तक कि वे सभी संख्याओं या संख्याओं और किसी दिनांक को हल करते हैं।

नमूना डेटा

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

{
	"_id" : 1,
	"a" : 100,
	"b" : 50,
	"c" : ISODate("2021-01-03T23:30:15.100Z")
}
{
	"_id" : 2,
	"a" : 20000,
	"b" : 15,
	"c" : ISODate("2019-12-08T04:00:20.112Z")
}
{
	"_id" : 3,
	"a" : 1700,
	"b" : 3,
	"c" : ISODate("2020-09-24T10:45:01.007Z")
}

नंबर जोड़ें

हम $add . का उपयोग कर सकते हैं a . जोड़ने के लिए ऑपरेटर और b एक साथ खेतों।

उदाहरण:

db.data.aggregate(
   [
     { $project: { 
       _id: 0,
       a: 1, 
       b: 1, 
       result: { 
         $add: [ "$a", "$b" ] } } 
         }
   ]
)

परिणाम:

{ "a" : 100, "b" : 50, "result" : 150 }
{ "a" : 20000, "b" : 15, "result" : 20015 }
{ "a" : 1700, "b" : 3, "result" : 1703 }

एक तारीख के साथ नंबर जोड़ें

यदि तर्कों में से एक दिनांक है, तो अन्य तर्कों को दिनांक में जोड़ने के लिए मिलीसेकंड के रूप में माना जाता है।

उदाहरण:

db.data.aggregate(
   [
     { $project: { 
       _id: 0,
       a: 1, 
       c: 1, 
       result: { 
         $add: [ "$a", "$c" ] } } 
         }
   ]
).pretty()

परिणाम:

{
	"a" : 100,
	"c" : ISODate("2021-01-03T23:30:15.100Z"),
	"result" : ISODate("2021-01-03T23:30:15.200Z")
}
{
	"a" : 20000,
	"c" : ISODate("2019-12-08T04:00:20.112Z"),
	"result" : ISODate("2019-12-08T04:00:40.112Z")
}
{
	"a" : 1700,
	"c" : ISODate("2020-09-24T10:45:01.007Z"),
	"result" : ISODate("2020-09-24T10:45:02.707Z")
}

हम देख सकते हैं कि a . में संख्यात्मक मान फ़ील्ड को मिलीसेकंड के रूप में c . में जोड़ दिया गया है फ़ील्ड.

अधिक तर्क

पिछले उदाहरण दो मानों को एक साथ जोड़ते हैं, लेकिन यदि आवश्यक हो तो आप और जोड़ सकते हैं।

यहां तीनों फ़ील्ड को एक साथ जोड़ने का एक उदाहरण दिया गया है:

db.data.aggregate(
   [
     { $project: { 
       _id: 0,
       a: 1, 
       b: 1,
       c: 1, 
       result: { 
         $add: [ "$a", "$b", "$c" ] } } 
         }
   ]
).pretty()

परिणाम:

{
	"a" : 100,
	"b" : 50,
	"c" : ISODate("2021-01-03T23:30:15.100Z"),
	"result" : ISODate("2021-01-03T23:30:15.250Z")
}
{
	"a" : 20000,
	"b" : 15,
	"c" : ISODate("2019-12-08T04:00:20.112Z"),
	"result" : ISODate("2019-12-08T04:00:40.127Z")
}
{
	"a" : 1700,
	"b" : 3,
	"c" : ISODate("2020-09-24T10:45:01.007Z"),
	"result" : ISODate("2020-09-24T10:45:02.710Z")
}

इस बार, दोनों नंबरों को तारीख में जोड़ा गया।

केवल एक तारीख की अनुमति है

यद्यपि आप एक साथ कई भाव जोड़ सकते हैं, आप केवल एक तिथि शामिल कर सकते हैं। एक से अधिक तिथियां पास करने से त्रुटि होती है।

उदाहरण:

db.data.aggregate(
   [
     { $project: { 
       _id: 0,
       a: 1, 
       b: 1,
       c: 1, 
       result: { 
         $add: [ "$c", ISODate("2020-09-24T10:45:01.007Z") ] } } 
         }
   ]
).pretty()

परिणाम:

uncaught exception: Error: command failed: {
	"ok" : 0,
	"errmsg" : "only one date allowed in an $add expression",
	"code" : 16612,
	"codeName" : "Location16612"
} : 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

कोई तर्क नहीं पारित करना

$add . के लिए कोई तर्क नहीं देना 0 . में परिणाम लौटाया जा रहा है।

उदाहरण:

db.data.aggregate(
   [
     { $project: { 
       result: { 
         $add: [  ] } } 
         }
   ]
)

परिणाम:

{ "_id" : 1, "result" : 0 }
{ "_id" : 2, "result" : 0 }
{ "_id" : 3, "result" : 0 }

शून्य मान पास करना

पासिंग null परिणाम null

उदाहरण:

db.data.aggregate(
   [
     { $project: { 
       result: { 
         $add: [ null ] } } 
         }
   ]
)

परिणाम:

{ "_id" : 1, "result" : null }
{ "_id" : 2, "result" : null }
{ "_id" : 3, "result" : null }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. BsonRepresentation(BsonType.ObjectId) बनाम BsonId बनाम ObjectId के साथ C# में किसी संपत्ति को सजाने के बीच अंतर

  2. मोंगोडब के साथ एक्सप्रेस और पासपोर्ट का उपयोग करके नोडज में सरल लॉगिन पृष्ठ

  3. नेवला को उप-दस्तावेज़ सरणी आइटम के लिए _id गुण बनाने से रोकें

  4. MongoDB / उल्का / तैनात अनुप्रयोगों के लिए MONGO_URL निर्यात करें

  5. SQL में किसी संख्या को मुद्रा के रूप में प्रारूपित करें