पर आइटम जोड़ने का प्रयास करते समय ऑब्जेक्ट {} में कोई विधि 'कास्ट' त्रुटि नहीं है। मैं सीखने के उद्देश्यों के लिए node.js, mongoose और रीढ़ की हड्डी का उपयोग करके एक todo ऐप बनाने की कोशिश कर रहा हूं। एक काम जोड़ने के लिए"ऑब्जेक्ट {} में मोंगोस सरणी
var TaskSchema = new mongoose.Schema({
title: { type:String },
content: { type:String } ,
created: {type:Date, 'default':Date.now},
due: {type:Date},
accountId: {type:mongoose.Schema.ObjectId}
});
var Task = mongoose.model('Task',TaskSchema);
var AccountSchema = new mongoose.Schema({
email: { type:String, unique: true},
password: { type:String } ,
name: { first: {type:String},
last: { type:String } },
birthday: {
day: {type:Number, min:1, max:31, required:false},
month: {type:Number, min:1, max:12, required:false},
year: {type:Number}
},
photoUrl: {type:String},
biography:{type:String},
tasks:[Task]
});
var Account = mongoose.model('Account',AccountSchema);
इसके अलावा, मैं भी निम्न विधि है: अब तक मैं इन मॉडलों परिभाषित
var enter_new_task = function(options,callback){
var title = options.title;
var content = options.content;
var due = options.due;
var account = options.account;
var task = new Task({
title: title,
content: content,
due: due,
accountId: account._id
});
account.tasks.push(task);
account.save(function(err) {
if (err) {
console.log("Error while saving task: " + err);
}else{
callback();
}
})
}
लेकिन जब मैं वास्तव में एक कार्य जोड़ने, मैं एक मिल त्रुटि है कि कहते हैं:
"ऑब्जेक्ट {} कोई विधि 'डाली' है"
निम्नलिखित स्टैक ट्रेस के साथ:
at Array.MongooseArray._cast (/home/lior/workspace/todo_express/node_modules/mongoose/lib/types/array.js:107:30)
at Object.map (native)
at Array.MongooseArray.push (/home/lior/workspace/todo_express/node_modules/mongoose/lib/types/array.js:261:23)
at Object.enter_new_task (/home/lior/workspace/todo_express/models/Account.js:107:17)
at /home/lior/workspace/todo_express/app.js:104:18
at Promise.<anonymous> (/home/lior/workspace/todo_express/models/Account.js:41:4)
at Promise.<anonymous> (/home/lior/workspace/todo_express/node_modules/mongoose/node_modules/mpromise/lib/promise.js:162:8)
at Promise.EventEmitter.emit (events.js:95:17)
at Promise.emit (/home/lior/workspace/todo_express/node_modules/mongoose/node_modules/mpromise/lib/promise.js:79:38)
at Promise.fulfill (/home/lior/workspace/todo_express/node_modules/mongoose/node_modules/mpromise/lib/promise.js:92:20)
9
ऐसा लगता है कि समस्या लाइन के साथ है कि कार्यों सरणी के लिए नया कार्य।
Google या स्टैक पर कुछ भी नहीं मिला, इसलिए मुझे आश्चर्य है, क्या किसी को गलत क्या है इसके बारे में कोई जानकारी है?
धन्यवाद!
यह 'नहीं होना चाहिए कार्यों: AccountSchema परिभाषा [TaskSchema]" टास्क "के बजाय'? –
आप सही हैं ... इसे एक उत्तर के रूप में लिखें और मैं इसे स्वीकार करूंगा। धन्यवाद! – Protostome