我正在创建一个RPG游戏网络应用程序,并且希望存储有关技能和特质的预定信息。即一系列定义“战斗强化赋予+2力量”和“无情的过去赋予-1社交”之类的对象。
我正在为我的应用程序使用Express和NodeJS,为我的数据库使用Mongoose&MongoDB并以HTML作为前端创建此文件。我对此还比较陌生,如果这是一个简单的问题,请您道歉!
我最初的想法是为相关属性创建猫鼬模式,即:
const attributeSchema = new Schema({
type: String, //i.e. trait, skill, background
description: String, //flavortext
modifiers: {
stats: {
strength: Number,
social: Number,
//etc...
},
skills: {
melee: Number,
ballistics: Number,
//etc...
}
}
});
然后,我将创建一个.js文件来运行,该文件将通过上述模式创建所有信息并将其保存到MongoDB,从而“播种”数据库。如果我需要添加新的特质/技能(例如,将来我引入新的特质“ Smelly Armpits”或引起-3社交的特质),则必须创建新的脚本来添加这些特质/技能。 ...除非有我没有学过的更好的方法!
我的另一个想法是将所有这些内容都放在一个静态.js文件中,作为一个对象,必要时可以require
或作为app.locals
变量。例如
const attributes = {
traits: [
{
name: 'Coffee Breath',
description: 'Try brushing your teeth sometime!',
modifiers: [{social: -1}]
},
{
name: 'Echoes of the Void',
description: 'The voices, they whisper to you...',
modifiers: [{sanity: -999}, {intelligence: +2}]
}
],
//etc...
}
请告诉我是否有推荐的方法来执行此操作,或者我是否缺少某些东西/可以做得更好!
答案 0 :(得分:0)
对于一个简单的项目,将这些内容存储在json文件中可能是一个更好的主意。
鉴于您的角色不会彼此继承属性,所以在我看来,设置MongoDB并不是最明智的选择。
此外,通常会设置Mongoose,并且数据库会很费力,并且对于给定的用例而言过于复杂。