आइए मान लें कि हमारे पास है:
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 } }
ड्राइवर की ओर से यह तरीका आसान होना चाहिए, लेकिन आपको डेटाबेस में अधिक जानकारी संग्रहीत करने की आवश्यकता होगी।
जो भी आपको अधिक पसंद हो उसे चुनें।