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

नेवला अप्सर्ट डिफ़ॉल्ट स्कीमा गुण नहीं बनाता है

क्या चल रहा है कि findByIdAndUpdate जैसे तरीकों के "अपडेट" परिवार को कॉल करते समय Mongoose के किसी भी सत्यापन, मिडलवेयर या डिफ़ॉल्ट मानों का उपयोग नहीं किया जाता है। . उन्हें केवल save . के लिए कॉल द्वारा आमंत्रित किया जाता है या create

इसका कारण यह है कि "अपडेट" कॉल प्रभावी रूप से मूल ड्राइवर को पास-थ्रू होते हैं, जिसमें Mongoose केवल स्कीमा परिभाषा के आधार पर फ़ील्ड की टाइप-कास्टिंग प्रदान करता है।

नेवला 4.0 अपडेट

जब कोई update . के दौरान कोई नया दस्तावेज़ बनाया जाता है, तो Mongoose अब डिफ़ॉल्ट सेटिंग का समर्थन करता है , findOneAndUpdate , या findByIdAndUpdate उपर setDefaultsOnInsert सेट करें true . का विकल्प इसे सक्षम करने के लिए। यह $setOnInsert . का उपयोग करता है डालने पर डिफ़ॉल्ट बनाने के लिए ऑपरेटर।

var queryOptions = {
    upsert: true,
    setDefaultsOnInsert: true
};
Company.findByIdAndUpdate(id, company, queryOptions).exec( ...


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेस्टेड सरणी को एकाधिक पुश कैसे करें

  2. MongoDB 'गिनती ()' बहुत धीमी है। हम इसके साथ कैसे परिशोधित/काम करते हैं?

  3. सेलज ओआरएम के बिना मोंगोडब का उपयोग करते हैं

  4. रेगेक्स अपने उपसर्ग द्वारा वाक्य में शब्दों का मिलान करने के लिए

  5. मोंगोडब एकत्रीकरण पंक्तियों को कॉलम