【发布时间】:2017-07-01 19:05:30
【问题描述】:
我正在使用非 SQL 数据库(带有 mongoose ORM 的 mongoDB)开发我的第一个项目,并且在设计数据结构时遇到了一些麻烦。假设我正在开发一个应用程序,用于跟踪我办公室的桌上足球游戏桌的游戏结果和玩家统计数据。游戏由 A 或 B 方各 4 名玩家组成,可以采取进攻或防守位置。所以我有这个存储数据的结构
游戏合集:
Schema({
id: String,
side_a: {
offense: {type: Schema.Types.ObjectId, ref: 'Player'},
defence: {type: Schema.Types.ObjectId, ref: 'Player'},
score: Number
},
side_b: {
offense: {type: Schema.Types.ObjectId, ref: 'Player'},
defence: {type: Schema.Types.ObjectId, ref: 'Player'},
score: Number
}
winner: String, // side_a || side_b
date: {type: Date, default: Date.now}
})
玩家收藏:
Schema({
id: String,
firstName: String,
lastName: String
})
所以我的问题是什么是正确的方法(或者是否有可能)来组合来自这些集合的数据,所以我将具有以下 JSON 结构:
{
"player_id": "123"
"firstName": "Test",
"lastName": "Test",
"games_played": 280,
"side_a": {
"total_win": 100,
"defence_win": 80,
"offense_win": 20
},
"side_b": {
"total_win": 84,
"defence_win": 64,
"offense_win": 20
}
}
【问题讨论】:
-
看起来您正在将数据建模为关系数据。这个article 让我了解了如何使用非关系模型对数据进行建模。