當在貓鼬的模式定義對象的數組,像這樣:如何定義對象的數組中貓鼬
var mySchema = new mongoose.Schema({
stuff : [ Object ]
});
當試圖挽救這個對象的實例,充滿了一些對象「東西」 ,Mongoose給出了以下錯誤:「Object#沒有方法'cast'」
在Mongoose中聲明一個對象數組的正確方法是什麼?
當在貓鼬的模式定義對象的數組,像這樣:如何定義對象的數組中貓鼬
var mySchema = new mongoose.Schema({
stuff : [ Object ]
});
當試圖挽救這個對象的實例,充滿了一些對象「東西」 ,Mongoose給出了以下錯誤:「Object#沒有方法'cast'」
在Mongoose中聲明一個對象數組的正確方法是什麼?
var ObjectSchema = new mongoose.Schema({
//your object schema
});
var mySchema = new mongoose.Schema({
stuff : [ ObjectSchema ]
});
看它進一步,做的方法是是不使用由貓鼬所提供的對象類型,因爲這會引起問題。取而代之的是將其定義爲一個數組:
var mySchema = new mongoose.Schema({
stuff : [ ]
});
這個工作,讓你把任何你想要的東西放入它,並將其正確保存。
像這樣的東西應該工作
var mySchema = new mongoose.Schema({
stuff1 :{type:String},
stuff2 :{type:Number},
array :[{arraystuff1:{type:String}}]
});
這裏是一個鏈接,你可以找到關於它的 http://mongoosejs.com/docs/guide.html
我不能接受我自己的答案,直到明天,但我已經想通了,並在下面看到更好的解決方案。基本上,你不需要任何「arraystuff1」的東西。只要有「數組:[]」就足夠了。 – user3690202
感謝信息,但子對象從外部源快到了,我無法控制在其佈局上。它相當大,我不想爲它自己設計一個模式。我只想爲我的數據創建一個模式,並在其中包含這些外部對象的數組。 – user3690202