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

नेवला:'स्ट्रिंग्स की सरणी' प्रकार का फ़ील्ड असाइन करें

यह अच्छी तरह से प्रलेखित नहीं है, लेकिन सरणी फ़ील्ड में हेरफेर करते समय आपको यह सुनिश्चित करने की ज़रूरत है कि आप मोंगोज़ के फ़ील्ड परिवर्तन पहचान को ट्रिगर कर रहे हैं ताकि यह जान सके कि सरणी को संशोधित किया गया है और इसे सहेजने की आवश्यकता है।

वर्गाकार कोष्ठकों में इसकी अनुक्रमणिका के माध्यम से एक सरणी तत्व को सीधे सेट करना इसे संशोधित के रूप में चिह्नित नहीं करता है, इसलिए आपको markModified :

user.emails[0] = email1;
user.markModified('emails');

या आप इसे एक बार में set का उपयोग करके कर सकते हैं। नेवला सरणी की विधि:

user.emails.set(0, email1);

संपूर्ण सरणी फ़ील्ड को ओवरराइट करना भी इसे ट्रिगर करता है, यही कारण है कि यह आपके लिए काम करता है:

user.emails = [email1, email2];

साथ ही:

user.emails = [email1];
user.emails[1] = email2;

जिसका मतलब है कि यह भी काम करता है:

user.emails = [];
user.emails[0] = email1;
user.emails[1] = email2;



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा MongoDB BigDecimal समर्थन

  2. MongoDB:किसी फ़ील्ड के लिए क्वेरी

  3. MongoDB v2.4.9 बूलियन फ़ील्ड द्वारा क्रमबद्ध करें

  4. मोंगोडब के उत्पन्न यूआईडी में शब्द खराब है

  5. MongoEngine के साथ संग्रह नाम निर्दिष्ट करना