我可以更改保存数据的集合的名称吗?我有一个Game模型,最后我保存了这样的数据:
const teamData = new Game({
id: id,
homeTeamName: hTeam,
awayTeamName: aTeam,
homeTeamGoals: homeTeamGoals,
awayTeamGoals: awayTeamGoals })
teamData.save()
,并且每次将其保存在收藏游戏中时,但是我可以对不同收藏使用相同的模型。我有来自英国,德国等地的游戏。我需要每个国家/地区的模型吗,或者当我保存。()
答案 0 :(得分:0)
您可以在这里做两件事
向您的模型添加另一个字段country
,
const teamData = new Game({
id: id,
homeTeamName: hTeam,
awayTeamName: aTeam,
homeTeamGoals: homeTeamGoals,
awayTeamGoals: awayTeamGoals,
country: country})
有一个不同的集合,称为“国家/地区”,其中每个文档都会包含与特定国家/地区有关的详细信息,然后将特定国家/地区的ID存储在您的游戏模型中。
答案 1 :(得分:0)
关于文档,您可以使用方法传递类扩展Model而不是字符串名称。
teamSchema 将是您的通用模式
const teamSchema = new Schema({
id: string,
homeTeamName: string,
awayTeamName: string,
homeTeamGoals: number,
awayTeamGoals: number
})
然后,每次要将文档存储在另一个集合中时,您都可以创建一个模型,如下所示:
const germanyModel = db.model('germany', new Game({
id,
homeTeamName: hTeam,
awayTeamName: aTeam,
homeTeamGoals,
awayTeamGoals
}));
germanyModel.save()
如果要以编程方式进行操作,则当然可以使用一个字符串变量来指定集合的名称:
const collection = 'spain';
const dynamicModel = db.model(collection, new Game({
id,
homeTeamName: hTeam,
awayTeamName: aTeam,
homeTeamGoals,
awayTeamGoals
}));
dynamicModel.save()