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

MongoDb . में वृद्धि मैट्रिक्स संरचना

आइए मान लें कि हमारे पास है:

1 2 3
4 5 6
7 8 9

आप मैट्रिक्स को विभिन्न तरीकों से मोंगोडब में एम्बेडेड सरणी के रूप में स्टोर कर सकते हैं:

1. मैट्रिक्स को एक-आयामी सरणी के रूप में प्रस्तुत करें और इस तरह स्टोर करें:

{
  _id: "1",
  matrix: [1,2,3,4,5,6,7,8,9],
  width: 3, // or store just size in case of NxN
  height: 3,
}

फिर मैट्रिक्स के तीसरे तत्व को बढ़ाने के लिए आपको निम्नलिखित अपडेट की आवश्यकता होगी:

db.matrix.update({_id: 1}, { $inc : { "matrix.2" : 1 } }

यह दृष्टिकोण बहुत हल्का है, क्योंकि आप जितना संभव हो उतना न्यूनतम डेटा संग्रहीत करते हैं, लेकिन आपको हमेशा अद्यतन करने के लिए तत्व की स्थिति की गणना करने की आवश्यकता होगी, और आपको अपने ड्राइवर में मैट्रिक्स को डीरियलाइज़ करने के लिए अतिरिक्त कोड लिखने की आवश्यकता होगी।

2.स्टोर मैट्रिक्स को निम्न प्रकार से स्टोर करें:

{
  _id: "1",
  matrix: [
  {xy: "0-0", v: 1},
  {xy: "1-0", v: 2},
  {xy: "2-0", v: 3},
  {xy: "0-1", v: 4},
  ...
  ]
}

फिर मैट्रिक्स में पहली पंक्ति के तीसरे तत्व को बढ़ाने के लिए आपको निम्नलिखित अपडेट की आवश्यकता होगी:

db.matrix.update({_id: 1, "matrix.xy": 2-0 }, { $inc : { "matrix.$.v" : 1 } }

ड्राइवर की ओर से यह तरीका आसान होना चाहिए, लेकिन आपको डेटाबेस में अधिक जानकारी संग्रहीत करने की आवश्यकता होगी।

जो भी आपको अधिक पसंद हो उसे चुनें।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक्सप्रेस जेएस में आईडी के बजाय किसी विशिष्ट फ़ील्ड का उपयोग करके क्वेरी कैसे करें?

  2. एक कुंजी लाने के लिए फ़ंक्शन निर्दिष्ट करके समूह कैसे करें?

  3. दिनांक सीमा के आधार पर दिन/माह/सप्ताह के आधार पर समूहबद्ध करें

  4. नेवला का उपयोग करके सूचकांक कैसे छोड़ें

  5. फ्लास्क-मोंगोइंजिन में एकत्रीकरण