我在mongo中保存时可以更改收藏名称吗?

时间:2018-08-02 11:01:47

标签: javascript mongodb mongoose

我可以更改保存数据的集合的名称吗?我有一个Game模型,最后我保存了这样的数据:

const teamData = new Game({
        id: id,
        homeTeamName: hTeam,
        awayTeamName: aTeam,
        homeTeamGoals: homeTeamGoals,
        awayTeamGoals: awayTeamGoals })

  teamData.save()

,并且每次将其保存在收藏游戏中时,但是我可以对不同收藏使用相同的模型。我有来自英国,德国等地的游戏。我需要每个国家/地区的模型吗,或者当我保存。()

2 个答案:

答案 0 :(得分:0)

您可以在这里做两件事

  1. 向您的模型添加另一个字段country

    const teamData = new Game({
    id: id,
    homeTeamName: hTeam,
    awayTeamName: aTeam,
    homeTeamGoals: homeTeamGoals,
    awayTeamGoals: awayTeamGoals,
    country: country})
    
  2. 有一个不同的集合,称为“国家/地区”,其中每个文档都会包含与特定国家/地区有关的详细信息,然后将特定国家/地区的ID存储在您的游戏模型中。

答案 1 :(得分:0)

关于文档,您可以使用方法OnActionExecuted传递类扩展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()