我有一个大型数据集,其结构如下:
[
Person1: { Mid: 0, Support: 0, Jungle: 0, Top: 0, Bot: 0 },
Person2: { Mid: 0, Support: 0, Jungle: 0, Top: 0, Bot: 0 },
Person3: { Mid: 0, Support: 0, Jungle: 0, Top: 0, Bot: 0 },
]
我的架构如下:
const rankSchema = new Schema(
{
rank: Schema.Types.Mixed,
lastUpdated: { type: Date, default: Date.now() },
},
{ minimize: false }
);
我也尝试过:
{
rank: [],
lastUpdated: { type: Date, default: Date.now() },
},
// and also
{
rank: { type: Schema.Types.Mixed },
lastUpdated: { type: Date, default: Date.now() },
},
但是我似乎什么都没做。我开始认为不可能存储这样的信息,所以什么是构造数据的最佳方法,这样我就不必遍历整个数组来查找特定的人。
编辑:为澄清起见,我试图将整个数据集存储在架构的“等级”值中。
答案 0 :(得分:0)
您可以像这样格式化数据:
let data = {
Person1: { Mid: 0, Support: 0, Jungle: 0, Top: 0, Bot: 0 },
Person2: { Mid: 0, Support: 0, Jungle: 0, Top: 0, Bot: 0 },
Person3: { Mid: 0, Support: 0, Jungle: 0, Top: 0, Bot: 0 }
}
然后您可以通过以下属性来访问它:
data.Person1, data.Person2 ...
您还可以仅将Object
用作“排名”字段的type
,然后可以将数据直接存储到该字段中
const rankSchema = new Schema(
{
rank: {type: Object}
lastUpdated: { type: Date, default: Date.now() },
},
{ minimize: false }
);