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

नेवला में डाले गए नवीनतम उप-दस्तावेज़ की आईडी खोजें

मैं इस उत्तर की भी तलाश कर रहा हूं, और मुझे यकीन नहीं है कि मुझे सरणी के अंतिम दस्तावेज़ तक पहुंचना पसंद है। हालांकि, मेरे पास एक वैकल्पिक समाधान है। विधि m['b'].push एक पूर्णांक, 1 या 0 लौटाएगा - मुझे लगता है कि यह पुश की सफलता (सत्यापन के संदर्भ में) पर आधारित है। हालाँकि, उप-दस्तावेज़ तक पहुँच प्राप्त करने के लिए, और विशेष रूप से उप-दस्तावेज़ की _id - आपको create का उपयोग करना चाहिए पहले विधि, फिर push .

कोड इस प्रकार है:

var subdoc = m['b'].create({ ba: 234, bb: "World" });
m['b'].push(subdoc);
console.log(subdoc._id);
m.save(function(err, model) { console.log(arguments); });

क्या हो रहा है कि जब आप ऑब्जेक्ट में पुश या क्रिएट मेथड को पास करते हैं, तो स्कीमा कास्ट तुरंत होता है (सत्यापन और टाइप कास्टिंग जैसी चीजों सहित) - इसका मतलब है कि यही वह समय है जब ऑब्जेक्ट आईडी बनाया जाता है; नहीं जब मॉडल को वापस मोंगो में सहेजा जाता है। वास्तव में, मोंगो स्वचालित रूप से उप-दस्तावेजों को _id मान निर्दिष्ट नहीं करता है यह एक नेवला विशेषता है। नेवला निर्माण यहाँ प्रलेखित है:दस्तावेज़ बनाएँ

इसलिए आपको यह भी ध्यान रखना चाहिए कि भले ही आपके पास एक उप-दस्तावेज़ _id है - जब तक आप इसे सहेज नहीं लेते हैं, तब तक यह मोंगो में नहीं है, इसलिए किसी भी DOCRef कार्रवाई से थके रहें जो आप ले सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जावास्क्रिप्ट में एक आईएसओ तिथि वस्तु बनाएं

  2. MongoDB:3.6 mongoDb संस्करण में दिनांक का विश्लेषण कैसे करें?

  3. मोंगोडब कनेक्शन स्ट्रिंग में @ संभाल लें

  4. MongoDB में आंतरिक सरणी आकार को क्वेरी करना

  5. MongoDB में बेसिक क्वेरी ऑपरेशंस कैसे करें