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

कैसे एक नेस्टेड नेवला स्कीमा में एक बच्चे स्कीमा के लिए इनपुट की सरणी को बचाने के लिए?

आप परमाणु अद्यतन विधि का उपयोग कर सकते हैं जैसे findOneAndUpdate() कोड> अपनी पोस्ट के लिए जहां आप upsert . निर्दिष्ट कर सकते हैं विकल्प। अगर upsert सत्य है और कोई दस्तावेज़ क्वेरी मानदंड से मेल नहीं खाता, findOneAndUpdate() एकल दस्तावेज़ सम्मिलित करता है। यहां आप देशी का उपयोग भी कर सकते हैं$push जब आप मोंगो को सर्वर पर सभी काम करने दे सकते हैं, तो लूप का उपयोग करने के बजाय नए प्रश्न और प्रश्न सरणी के उत्तर को आगे बढ़ाने के लिए ऑपरेटर।

निम्न उदाहरण दिखाता है कि आप अपने कोड को कैसे रिफलेक्टर कर सकते हैं:

var express = require('express');
var router = express.Router();
var Survey = require('../models/QBank');

router.post('/', function(req, res, next){ 
    Survey.findOneAndUpdate(
        { "surveyname": req.body.sname }, /* <query> */
        { /* <update> */
            "$push": {
                "question": {
                    "que": req.body.que,
                    "ans1": req.body.ans1,
                    "ans2": req.body.ans2,
                    "ans3": req.body.ans3,
                    "ans4": req.body.ans4
                }
            } 
        },
        { "upsert": true }, /* <options> */
        function(err, doc){ /* <callback> */
            if(err) res.json(err);
            else
                req.flash('success_msg', 'Question saved to QBank');  
            res.redirect("/CreateSurvey");
        }
    );
});

module.exports = router;

उपरोक्त में, <query> . दोनों के क्षेत्र और मान और <update> पैरामीटर बनाए जाते हैं यदि <update> पैरामीटर में अपडेट ऑपरेटर एक्सप्रेशन शामिल हैं। अद्यतन <query> . में समानता खंड से एक मूल दस्तावेज़ बनाता है पैरामीटर, और फिर <update> . से अपडेट एक्सप्रेशन लागू करता है पैरामीटर।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB एकत्रीकरण एकल स्ट्रिंग में स्ट्रिंग्स की सरणी में शामिल होता है

  2. MongoCursorException - कर्सर नहीं मिला (MongoDB PHP ड्राइवर)

  3. MongoDBs सख्त मोड क्या है और क्या इसका उपयोग करना एक अच्छा विचार है?

  4. क्या FindIterable<दस्तावेज़> सभी दस्तावेज़ लोड करता है?

  5. MongoDB $toDecimal