Node.js 如何将对象数组保存到mongoose数据库中
我正在尝试保存由嵌套在阵列中的对象组成的引线板。我想把它保存在我的数据库中,但我还不能创建正确的模式,我认为这不是最好的方法。 当我运行代码时,我得到以下错误: “排行榜架构不是构造函数” 创建我需要的模式的合适方法是什么 我在网上尝试了许多变体,但我一直得到“排行榜模式不是构造函数” 关于S.O的其他问题的例子对我帮助不大Node.js 如何将对象数组保存到mongoose数据库中,node.js,mongoose,Node.js,Mongoose,我正在尝试保存由嵌套在阵列中的对象组成的引线板。我想把它保存在我的数据库中,但我还不能创建正确的模式,我认为这不是最好的方法。 当我运行代码时,我得到以下错误: “排行榜架构不是构造函数” 创建我需要的模式的合适方法是什么 我在网上尝试了许多变体,但我一直得到“排行榜模式不是构造函数” 关于S.O的其他问题的例子对我帮助不大 //我要保存的排行榜对象 排行榜=[ 领队={ 名称:“终极野兽”, 分数:2 }, 领导二={ 名字:“戴面具的泰坦”, 分数:9 }, 领导三={ 名称:“Oran
//我要保存的排行榜对象
排行榜=[
领队={
名称:“终极野兽”,
分数:2
},
领导二={
名字:“戴面具的泰坦”,
分数:9
},
领导三={
名称:“Oranolio”,
得分:7分
},
领导四次={
名称:“Popularkiya”,
分数:1
},
leaderFive={
名称:'Bootecia',
分数:11
},
];
//数据库模式
const Schema=mongoose.Schema()
const LeadboardSchema=新mongoose.Schema({
排行榜:{
领队:{
名称:String,
分数:数字
},
领导二:{
名称:String,
分数:数字
},
领导三人:{
名称:String,
分数:数字
},
领导四位:{
名称:String,
分数:数字
},
领导五:{
名称:String,
分数:数字
}
}
},{收集:'排行榜数据'});
const PlayerData=mongoose.model(“排行榜数据”,排行榜模式);
//我的尝试
const leaderBoardToSave=新的排行榜架构({
排行榜:{
领队:{
名称:“asdf”,
分数:12
},
领导二:{
名称:“sfgh”,
分数:12
},
领导三人:{
名称:‘weh’,
分数:12
},
领导四位:{
名称:“asdf”,
分数:12
},
领导五:{
名称:“asdf”,
分数:12
}
}
})
当前您的排行榜
字段是一个对象。要对对象数组建模,请对架构执行以下操作:
const LeaderBoardSchema = new mongoose.Schema({
leaderBoard: [
{
name: String,
score: Number
}
]
}, {collection: 'leaderboard-data'});
至于模式构造函数的问题。您正在创建mongoose模型,如下所示const PlayerData=mongoose.model('leadboard Data',leadboardschema)代码>。但接下来您需要创建新的排行榜模式({…})
。您需要使用mongoose模型PlayerData
。因此,要创建新的排行榜:
const leaderBoardToSave = new PlayerData({
leaderBoard: [
{
name: 'asdf',
score: 12
},
{
name: 'gds',
score: 12
},
{
name: 'adad',
score: 12
},
]
})
谢谢你帮我澄清。成功了!