Öğrenme amaçlı node.js, mongoose ve omurga kullanarak bir todo uygulaması oluşturmaya çalışıyorum. Bir görevi ekleyerek için"Nesne {}, mongoose dizisine öğe eklemeye çalışırken" cast 'error "yöntemine sahip değil.
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);
Buna ek olarak, ben de aşağıdaki yöntemi vardır: Şu ana kadar ben bu modelleri tanımlanan
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();
}
})
}
Ama gerçekten de bir görev eklemek, ben bir olsun diyor hatası:
"Nesne {} 'dökme' hayır yöntemi vardır" Aşağıdaki yığın izleme ile
:
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
Sorun satırla olduğunu görünüyor ki görevleri diziye yeni görev.
Google'da ya da yığında hiçbir şey bulamadım, bu yüzden merak edenlerin neyin yanlış gittiğine dair bir fikri var mı?
Teşekkürler!
o' görevler olması gerekmez mi? –
siz doğru ... cevap olarak yazın ve kabul edeceğim. Teşekkürler! – Protostome