चेतावनी आपको पहले से ही दिखाती है "आप केवल रेफरी या सरणी का उपयोग करके घोंसला कर सकते हैं।"। यह एक नेवला डिजाइन है।
लेकिन आप क्या कर सकते हैं:
var MySchema = new mongoose.Schema({
objectId: String,
parent: {
type: mongoose.Schema.ObjectId,
ref: 'MySchema'
},
})
यह एक स्कीमा के अंदर एक स्कीमा का उपयोग करेगा, फिर आप अपने माता-पिता के डेटा को अपडेट करने के लिए "प्री सेव" का उपयोग कर सकते हैं। या आप रेफरी की एक सरणी का उपयोग कर सकते हैं और केवल 1 तत्व के साथ रख सकते हैं।
क्या करना है स्कीमा निर्यात करना है न कि मॉडल, ताकि आप इसे नेस्ट कर सकें। इस तरह:
module.exports = MySchema;
फिर मेरे पास स्कीमा के मेरे संग्रह के मॉडल सेट करने के लिए कुछ ऐपमॉडल हैं, जैसे (app_model.js):
if(mongoose.modelNames().indexOf('mySchema') < 0) mongoose.model('mySchema', mySchema);