Mongoose में Enum कैसे बनाएं और इस्तेमाल करें


87

मैं enumमानगो में एक प्रकार का निर्माण और उपयोग करने की कोशिश कर रहा हूं । मैंने इसकी जाँच की, लेकिन मुझे इसका उचित परिणाम नहीं मिला। मैं enumअपने mongoose स्कीमा का उपयोग इस प्रकार कर रहा हूँ :

var RequirementSchema = new mongoose.Schema({
   status: {
        type: String,
        enum : ['NEW', 'STATUS'],
        default: 'NEW'
    },
})

लेकिन मैं यहां थोड़ा उलझन में हूं, मैं एक enumजैसे मूल्य को कैसे रख सकता हूं Java NEW("new")। मैं enumडेटाबेस में कैसे इसे मानों के अनुसार सहेज सकता हूं । मैं इसे नोड नोड में व्यक्त कर रहा हूँ।

जवाबों:


134

यहाँ के एनम मूल रूप से स्ट्रिंग ऑब्जेक्ट्स हैं। enum: ['NEW', 'STATUS']इसके बजाय एनम लाइन को बदलें । आपके पास अपने उद्धरण चिह्नों के साथ एक टाइपो है।


आप इसे उपयोगकर्ता तालिका से कैसे जोड़ सकते हैं? मेरा काम नहीं करता। मेरी उपयोगकर्ता तालिका मैंने यह एक भूमिका सम्मिलित की: {type: mongoose.Schema.Types.ObjectId, Ref: 'रोल्स',},
Jm Macatangay

52

से डॉक्स

Mongoose में कई इनबिल्ट वैरिडेटर्स हैं। स्ट्रिंग्स है enum सत्यापनकर्ता के एक के रूप में। तो एनम एक सत्यापनकर्ता बनाता है और जाँचता है कि मान किसी सरणी में दिया गया है या नहीं। उदाहरण के लिए:

var userSchema = new mongooseSchema({
   userType: {
        type: String,
        enum : ['user','admin'],
        default: 'user'
    },
})


धन्यवाद यह मेरे लिए डिफ़ॉल्ट userType स्टोर करने के लिए काम करता है। Js से amdin में userType को कैसे बदलें?
क्यूई-गॉन जिन

आप इसे उपयोगकर्ता तालिका से कैसे जोड़ सकते हैं? मेरा काम नहीं करता। मेरी उपयोगकर्ता तालिका मैंने यह एक भूमिका सम्मिलित की: {type: mongoose.Schema.Types.ObjectId, Ref: 'रोल्स',},
Jm Macatangay

10

Enums उदाहरण के लिए स्ट्रिंग ऑब्जेक्ट्स हैं: enum :['a','b','c']या शायद इस तरह const listOfEn = ['a','b','c']; => enum: listOfEn

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.