2012-07-05 14 views
8

आंकड़ा हो सकता है कि आँखों के एक दूसरे सेट देख सकते हैं कि मेरी स्कीमा साथ कुछ गड़बड़ हैNodeJS - MongooseJS स्कीमा त्रुटि नहीं कर सकते कि मैं बाहर

var UserSchema = new Schema({ 
     name: 
       { 
         first : {type: String} 
        , last : {type : String} 
       } 
    , password: {type: String} 
    , username: {type: String} 
    , role: RoleSchema 
    , created_at : {type : Date, default : Date.now} 
    , modified_at : {type : Date, default : Date.now} 
}) 

var RoleSchema = { 
     type: [String] 
    , study_type: [String] 
} 

mongoose.model('User', UserSchema) 

त्रुटि:

TypeError: Invalid value for schema path `role` 

उत्तर

18

एम्बेडेड स्कीमा (भूमिकाएँ) उपयोगकर्ताशेमा

+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद .... मैं इस पर 6h से अधिक खर्च करता हूं ... :( – Machete

1

से ऊपर होने की आवश्यकता है रोलस्की स्कीमा को उपयोगकर्ताशेमा से पहले आयात किया जाना चाहिए।

नेवला के नए संस्करण वाक्य रचना के निम्नलिखित प्रकार के लिए भी जरूरत थी 'TypeError: Invalid value for schema Array path परे पाने के लिए:

var SomeSchema = new mongoose.Schema(); 

    SomeSchema.add({ 
    key1: { 
     type: String, 
     required: true 
    }, 
    key2: { 
     type: String, 
     required: true 
    }, 
    key3: { 
     type: String, 
     required: true 
    } 
    }); 

    SomeSchema.get(function(val){ 
    // Remove the _id from the Violations 
    delete val._id; 
    return val; 
    }); 

और माता-पिता:

var ParentSchema = new mongoose.Schema({ 
    parentKey: String, 
    someArray: [SomeSchema] 
}) 

module.exports = mongoose.model('Parent', ParentSchema) 

यह हुआ जब नेवला 3 से स्विच .x से 4.x

संबंधित मुद्दे