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

NODE.js और Express का उपयोग करके नेस्टेड सरणी में MongoDB डेटा कैसे पोस्ट करें

आप Model.prototype.update का इस्तेमाल कर सकते हैं नेवला में उप-दस्तावेज़ को अद्यतन करने के लिए timings

हालांकि दो परिदृश्य मौजूद हैं -

  1. यदि आप डुप्लिकेट की जांच किए बिना प्रविष्टियों को आगे बढ़ाना चाहते हैं तो $push ऑपरेटर
    var filter = {
        _id: mongoose.Types.ObjectId('<USER_ID>')
    };
    
    var update = {
        $push: {
            timings: {
                startTime: "",
                endTime: "",
                elapsedTime: ""
            }
        }
    };
    
    db.collection.update(filter, update);
  1. यदि आप केवल विशिष्ट प्रविष्टियों को आगे बढ़ाना चाहते हैं तो $addToSet ऑपरेटर
    var filter = {
        _id: mongoose.Types.ObjectId('<USER_ID>')
    };
    
    var update = {
        $addToSet: {
            timings: {
                startTime: "",
                endTime: "",
                elapsedTime: ""
            }
        }
    };
    
    db.collection.update(filter, update);

नोट:mongoose की आवश्यकता है पहले

const mongoose = require('mongoose');

नीचे अपना कोड ठीक करें, साथ ही आपको सटीक उप-दस्तावेज़ की आईडी नहीं मिल सकती है, लेकिन आप अद्यतन रूट दस्तावेज़ प्राप्त कर सकते हैं -

const updatedUser = await User.findOneAndUpdate({
        _id: mongoose.Types.ObjectId(req.body._id)
    },
    {
        $addToSet: {
            timings: {
                startTime, 
                endTime, 
                elapsedTime
            }
        }
    }, {
        new: true
    }).exec();



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Django के लिए PyMongo बनाम MongoEngine

  2. ऑब्जेक्ट आईडी का पुन:उपयोग करने के लिए नेवला एकाधिक तुल्यकालिक खोज

  3. पॉप्युलेट के जवाब में पथ का नाम कैसे बदलें

  4. नेवला:क्या एक कस्टम _id को एक इंडेक्स के रूप में घोषित करने और अद्वितीय होने की आवश्यकता है

  5. नेस्टेड दस्तावेज़ को मैप/घटाएं और क्रमबद्ध करें