Node.js 如何将对象数组保存到mongoose数据库中

Node.js 如何将对象数组保存到mongoose数据库中,node.js,mongoose,Node.js,Mongoose,我正在尝试保存由嵌套在阵列中的对象组成的引线板。我想把它保存在我的数据库中,但我还不能创建正确的模式,我认为这不是最好的方法。 当我运行代码时,我得到以下错误: “排行榜架构不是构造函数” 创建我需要的模式的合适方法是什么 我在网上尝试了许多变体,但我一直得到“排行榜模式不是构造函数” 关于S.O的其他问题的例子对我帮助不大 //我要保存的排行榜对象 排行榜=[ 领队={ 名称:“终极野兽”, 分数:2 }, 领导二={ 名字:“戴面具的泰坦”, 分数:9 }, 领导三={ 名称:“Oran

我正在尝试保存由嵌套在阵列中的对象组成的引线板。我想把它保存在我的数据库中,但我还不能创建正确的模式,我认为这不是最好的方法。 当我运行代码时,我得到以下错误:

“排行榜架构不是构造函数”

创建我需要的模式的合适方法是什么

我在网上尝试了许多变体,但我一直得到“排行榜模式不是构造函数”

关于S.O的其他问题的例子对我帮助不大


//我要保存的排行榜对象
排行榜=[
领队={
名称:“终极野兽”,
分数: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
           },
       ]
    })

谢谢你帮我澄清。成功了!