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

नेवला स्वयं संदर्भित स्कीमा सभी उप दस्तावेज़ों के लिए ObjectId नहीं बना रहा है

अपने एम्बेडेड CollectPoint . की घोषणा करते समय आपको एक नई वस्तु का निर्माण करना चाहिए आइटम :

var data = new CollectPoint({
    name: "Level 1",
    collectPoints: [
        new CollectPoint({
            name: "Level 1.1",
            collectPoints: []
        })
    ]
});

इस तरह _id और collectPoints CollectPoint . के उदाहरण द्वारा बनाया जाएगा अन्यथा, आप केवल एक सादा JSONObject बना रहे हैं।

इस तरह की समस्याओं से बचने के लिए, एक सत्यापनकर्ता बनाएं। आपके एरे के लिए जो एक त्रुटि को ट्रिगर करेगा यदि उसके आइटम में गलत प्रकार है:

var CollectPointSchema = new mongoose.Schema({
    name: { type: String },
    collectPoints: {
        type: [this],
        validate: {
            validator: function(v) {
                if (!Array.isArray(v)) return false
                for (var i = 0; i < v.length; i++) {
                    if (!(v[i] instanceof CollectPoint)) {
                        return false;
                    }
                }
                return true;
            },
            message: 'bad collect point format'
        }
    }
});

इस तरह निम्नलिखित एक त्रुटि को ट्रिगर करेगा:

var data = new CollectPoint({
    name: "Level 1",
    collectPoints: [{
        name: "Level 1.1",
        collectPoints: []
    }]
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Neo4j के साथ मोंगोडब को एकीकृत करना, क्या कोई एपीआई है जो उन्हें लिंक करेगी?

  2. दो ऑब्जेक्ट सरणियों की तुलना करना और जांचना कि क्या उनके पास सामान्य तत्व हैं

  3. एम्बेडेड सरणी के आधार पर दस्तावेज़ों को कैसे फ़िल्टर करें?

  4. इस डेटा को मोंगोडीबी पर स्टोर करने के लिए सबसे अच्छी डेटा संरचना क्या है?

  5. PHP मोंगो प्रश्नों की सूची:प्रतिकृतिसेट सत्य होने पर _construct वापस क्या करता है?